C 实战练习题目37 – 排序

题目:对10个数进行排序。

程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。

实例:

 1 #include<stdio.h>
 2 #define N 10
 3 int main()
 4 {
 5     int i,j,a[N],temp;
 6     printf("请输入 10 个数字:\n");
 7     for(i=0;i<N;i++)
 8         scanf("%d",&a[i]);
 9     for(i=0;i<N-1;i++)
10     {
11         int min=i;
12         for(j=i+1;j<N;j++)
13             if(a[min]>a[j]) min=j;
14         if(min!=i)
15         {
16             temp=a[min];
17             a[min]=a[i];
18             a[i]=temp;
19         }
20     }
21     printf("排序结果是:\n");
22     for(i=0;i<N;i++)
23         printf("%d ",a[i]);
24     printf("\n");
25     return 0;
26 }

以上实例输出结果为:

请输入 10 个数字:
23 2 27 98 234 1 4 90 88 34
排序结果是:
1 2 4 23 27 34 88 90 98 234

感谢你的阅读,请用心感悟!希望可以帮到爱学习的你!!分享也是一种快乐!!!请接力。。。

点击查看原文,谢谢!

posted @ 2020-06-06 14:21  C语言自学网  阅读(332)  评论(0编辑  收藏  举报