解题思路:
简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int i, j, t, a[10];
for(i = 0; i < 10; i++)
scanf("%d", &a[i]);
for(i = 0; i <= 8; i++) //共n-1趟排序
{
for(j = i+1; j < 10; j++) //第i趟排序从后n-i-1个元素中选一个最小的,n-i-1-(i+1)=n=10
{
if(a[j] < a[i])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(i = 0; i < 10; i++)
printf("%d\n", a[i]);
return 0;
}
0.0分
0 人评分
人民币问题 (C语言代码)浏览:720 |
点我有惊喜!你懂得!浏览:1462 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:912 |
简单的a+b (C语言代码)浏览:594 |
【计算两点间的距离】 (C语言代码)浏览:927 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1071 |
Pascal三角 (C语言代码)格式错误浏览:551 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:539 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1090 |
局部变量作函数返回值的问题浏览:1028 |