1.用选择法对10个数排序
设计思路:
1.先输入10个数,scanf
2.后循环输出
3.选择比较交换-10个数,第一个假设是最小的(min=i),然后从后面九个数(j=i+1)找出最小的与第一个比较,比第一个小,则进行交换,否则不交换。
4.排序后输出
代码:
# include<stdio.h>
int main()
{
int i,j,min,temp,a[10];
printf("enter data:\n");
for (i=0;i<10;i++)
{
printf("please enter ten numbers:\n");
printf("a[%d]=",i);
scanf("%d",&a[i]); //输入10个数
}
printf("\n");
printf("The orginal numbers:\n");
for (i=1;i<=10;i++) //在c语言中,数组的下标从0开始
printf("%5d",a[i]); //输出这10个数
printf("\n"); //以下8行是对这10个数排序
for (i=1;i<=9;i++)
{min=i;
for(j=i+1;j<=10;j++)
if (a[min]>a[j]) min=j;
temp=a[i]; //以下3行将a[i+1]~a[10]中最小值与a[i]对换
a[i]=a[min];
a[min]=temp;
}
printf("\n The sorted numbers:\n"); //输出已排好序的10个数
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
结果展示: