C语言选择法排序

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int i, j, p, n, q;
 6     int a[6] = {5, 4, 7, 3, 6};
 7   //对无序数组进行排序
 8     for(i=0; i<5; i++)
 9     {
10         p = i;
11         for(j=i+1; j<5; j++)//找出数组中的最大值
12             if(a[p]<a[j])
13                 p = j;
14         if(p!=i)//将最大值与a[0]调换
15         {
16             q = a[i];
17             a[i] = a[p];
18             a[p] = q;
19         }
20     }
21 
22     printf("请输入一个数");
23     scanf("%d", &n);
24     //插入一个数
25     for(i=0; i<5; i++)
26         if(a[i]<n)  //查找到插入位置i
27         {
28             for(j=4; j>=i; j--)
29                 a[j+1]=a[j];
30             break;
31         }
32     a[i] = n; //插入n到位置i
33     
34     //输出
35     for(i=0; i<6; i++)
36     {
37         printf("%d\n", a[i]);
38     }
39 
40     return 0;
41 }

 

posted @ 2013-11-16 16:36  栋先生  阅读(710)  评论(0)    收藏  举报