数组中的元素降序排列

 1 #include <stdio.h>
 2 #define N  7
 3 
 4 int main()
 5 {
 6 
 7     int nums [N] = {10,85,96,5,9,6,200};      //定义了一个数组,里面有 7 个元素
 8     int i ,j;
 9     int temp;
10 
11     //外层循环控制轮数                              //轮数等于 (数组的长度 - 1)
12     for(i= 0; i < N-1;i++)
13     {
14         //内层循环控制次数                          //次数 =( 数组的长度 -1 )-当前的次数(i)  i = 0
15          for(j = 0; j< N -i -1;j++)
16         {
17 
18             //交换位置  如果当前值小于后面的之就交换
19           if(nums[j] < nums[j+1])
20           {
21 
22             temp = nums[j];
23             nums[j] = nums[j+1];
24             nums[j+1] = temp;
25           }
26 
27         }
28 
29     }
30     printf("排序后的数组为:\n");
31     //打印排序完的数组
32     for(i = 0; i < N; i++)
33     {
34 
35 
36         printf("%d\t",nums[i]);
37 
38     }
39 
40 
41 
42 
43 
44      //外层循环控制轮数                              //轮数等于 (数组的长度 - 1)
45     for(i= 0; i < N-1;i++)
46     {
47         //内层循环控制次数                          //次数 =( 数组的长度 -1 )-当前的次数(i)  i = 0
48          for(j = 0; j< N -i -1;j++)
49         {
50 
51             //交换位置  如果当前值大于后面的之就交换
52 
53             //如果初始数是无序的话
54             //第一个数与倒数第一个数进行交换 i = 0;
55 
56              //如:1 33 66 88 5 6
57              //    i            N-i-1
58              //       i       N-i-1
59             //逆序
60         //    for(i = 0; i < N /2; i++)  //
61         //    {
62         //        temp = nums[i];
63         //        nums[i] = nums[N -i -1];
64         //        nums[N - i -1] = temp;
65         //    }
66 
67 
68           if(nums[j] > nums[j+1])
69           {
70 
71             temp = nums[j];
72             nums[j] = nums[j+1];
73             nums[j+1] = temp;
74           }
75 
76         }
77 
78     }
79 
80     printf("\n排序后的数组为:\n");
81 
82     //打印排序完的数组
83     for(i = 0; i < N; i++)
84     {
85         printf("%d\t",nums[i]);
86 
87     }
88 
89 
90 
91 }

 

posted on 2021-07-28 11:50  Bytezero!  阅读(500)  评论(0编辑  收藏  举报