数组中的元素降序排列
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 }
本文来自博客园,作者:Bytezero!,转载请注明原文链接:https://www.cnblogs.com/Bytezero/p/15071655.html