解题思路:
我用的并不是选择法而是冒泡排序,思路是10个数之间两两比较,第一轮比较9次即可得出最大值,同理第二次比较依然可以得到次大值,依此类推总共比较9轮即可得到最终的排序结果,我这里提供了两种算法,第一种是在主函数里面进行操作,第二种是定义一个函数 ,在函数里面操作,其原理相同,大家可以自行选择一种算法借鉴
注意事项:
两次循环皆是比较9次而不是10次
如果这篇文章对您有帮助,请您为我点个赞,又不懂的可以评论,我会为您解答
参考代码:
/*用选择法对10个整数从小到大排序。*/
#include<stdio.h>
int main()
{
int a[10];
int i = 0, t = 0, j = 0;
for(i=0; i<10; i++)
{
scanf("%d", &*(a+i));
}
for(i=0; i<9; i++)
{
for(j=0; j<9-i; j++)
{
if(a[j]>a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for(i=0 ; i<10; i++)
{
printf("%d\n", *(a+i));
}
return 0;
}
/*#include<stdio.h>
void sort (int *a, int len)
{
int t = 0, i = 0, j = 0;
for(i=0; i<len-1; i++)
{
for(j=0; j<len-1-i; j++)
{
if(a[j]>a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
return;
}
int main()
{
int a[10];
int i;
for(i=0; i<10; i++)
{
scanf("%d", &*(a+i));
}
sort(a, 10);
for(i=0; i<10; i++)
{
printf("%d\n", *(a+i));
}
return 0;
}*/
0.0分
0 人评分
用筛法求之N内的素数。 (C语言代码)浏览:1257 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1256 |
简单的a+b (C语言代码)浏览:606 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:674 |
母牛的故事 (C语言代码)浏览:944 |
矩阵乘方 (C语言代码)浏览:1030 |
字符串输入输出函数 (C语言代码)浏览:2495 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:518 |
矩形面积交 (C语言代码)浏览:1312 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:680 |