700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c语言如何将数组里的数排序输出 c程序输入10个数到一维数组中 按升序排序后输出。...

c语言如何将数组里的数排序输出 c程序输入10个数到一维数组中 按升序排序后输出。...

时间:2021-07-01 06:57:03

相关推荐

c语言如何将数组里的数排序输出 c程序输入10个数到一维数组中 按升序排序后输出。...

匿名用户

1级

-01-16 回答

//演示输入N个数,并按大小顺序输出

#include

#define N 10

float increase(float *array,unsigned char n);//申明使数组递增函数

void main()

{

unsigned char i,quit;

float number[N];

printf("请输入%d个数据,每个数输入后以回车键结束。",N);

again: for(i=0;i

{

printf("\n请输入第%d个数:",i+1);

scanf("%f",&number[i]);

}

increase(number,N);

printf("\n您输入的数据按从大到小顺序输出如下:");

for(i=0;i

{

printf("\n %10.2f",number[i]);//保留两位小数输出最大数

}

printf("\n继续测试请按Y或y,退出请按其它任意键。\n");

quit=getch();

if(quit=='y'||quit=='Y') goto again;

getch();

}

//方法1用指针实现 冒泡排序法(大数由底部往上冒)

/*

float increase(float *array,unsigned char n)

{

unsigned char i,j;

float temp,*ip;

for(i=0;i

{

for(j=n-1;j>i;j--)//注意j的结束条件要写对

{

ip=array;

if(*(ip+j)>*(ip+(j-1) ))

{

temp=*(ip+j);

*(ip+j)=*(ip+(j-1) );

*(ip+(j-1))=temp;

}

}

}

}

*/

//方法2用指针实现 快速排序法

float increase(float *array,unsigned char n)

{

unsigned char i,j,k;

float temp,*ip;

for(i=0;i

{

k=i;

for(j=i+1;j

{

ip=array;

if(*(ip+k)

{

k=j;//记住最大数的下标(位置)

}

}

{

ip=array;

temp=*(ip+k);

*(ip+k)=*(ip+i);

*(ip+i)=temp;

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。