关于c语言数组排序用选择法对数组中10个整数按由小到大排序

用选择法对10个整数排序_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:501,279贴子:
用选择法对10个整数排序收藏
#include &stdio.h& void main() {void sort(int
x[ ], int n);
int *p,i,a[10];
for(i=0;i&10;i++)
scanf("%d",p++);
sort(p,10); 这句的p=a;和sort(p,10)在这里有什么作用
for(p=a,i=0;i&10;i++)
{printf("%d ",*p); p++;} } void sort(int
x[ ], int n) { int i,j,k,t;
for(i=0;i&=n-1;i++)
for(j=i+1;j&n;j++)
if(x[j]&x[k]) k=j;
{t=x[i];x[i]=x[k];x[k]=t;} }
c语言一般需要4-8周,就可以掌握.4个月=两年的工作经验,月薪过万.c语言的费用根据培训课时定,免费试听编程课程,名师授课,手把手传教.
p=a是让p指向数组的起始位置
sort是库函数里面的快速排序
可以直接排序
sort(p,10)调用这个void sort(int x[ ], int n) { int i,j,k,t; for(i=0;i&=n-1;i++) { k=i; for(j=i+1;j&n;j++) if(x[j]&x[k]) k=j; if(k!=i) {t=x[i];x[i]=x[k];x[k]=t;} } }
当初没好好听现在各种不会
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或查看: 720|回复: 0
c语言数组名做函数参数&选择法排序
本帖最后由 liuda 于
02:19 编辑
//形参数组和实参数组同时变
//用选择法对数组中的10个数由小到大排序
//我感觉这样反而使程序更加复杂了,它使用了函数,但是不用函数也可以
//这样就是把排序的结果调回去?不用调结果
//好像这道题不能一次性处理整个数组,得一个一个处理?就是让处理数组的
#include&stdio.h&
void main()
{
int a[10],i,j;
void cmp(int c[10]);//既然形参数组,和实参数组同时变,那就是无参函数,不需要带回函数值
printf(&please input 10 numbers\n&);
for(i=0;i&=9;i++)
{
scanf(&%d&,&a[i]);
}
cmp(a);//看来问题就出在这个方程这里了
for(j=0;j&=9;j++)
{
printf(&%d,&,a[j]);
}
}
void cmp( int c[10])
{int m,n,
& &for(m=0;m&=9;m++)
& &{
&&sta=c[m];
&&for(n=m+1;n&=9;n++)
&&{
& &&&if(c[n]&c[m])
{&&sta=c[m];
& && &&&c[m]=c[n];
& && &&&c[n]=
}
&&}
& &
& &}
Powered by以下试题来自:
填空题请完成函数fun(),它的功能是:用选择法对数组中n个元素按从大到小的顺序进行排序。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在下划线上填入所需的内容。
#include<stdio.h>
#define N 20
void fun(int a[],int n)
int i,j,t,p;
for(j=0;j<n-1; 1 )
for(i=j;i<n;i++)
if(a[i] 2 a[p]
a[p]=a[j];
a[ 3 ]=t;
int a[N]={11,32,-5,2,14,i,m=5;
for(i=0;i<m;i++)
printf("%d\n",a[i);
fun(a,m);
for(i=0;i<m;i++)
printf("%d"a[i]); 参考答案void fun(int a[],int n)
int i,j,t,p;
for(j=0;j<n-A;j++)
for(i=j;i<n;i++)......
为您推荐的考试题库
你可能感兴趣的试题
热门相关试卷
最新相关试卷

我要回帖

更多关于 c语言整数排序 的文章

 

随机推荐