1. 程式人生 > 實用技巧 >從鍵盤鍵入15個整數,用氣泡法對其按升序排序,然後求最大值,最小值,中位數以及平均值

從鍵盤鍵入15個整數,用氣泡法對其按升序排序,然後求最大值,最小值,中位數以及平均值

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main() {
 4     int ze,pingjun=0,he=0;
 5     int a[20];
 6     for (int i = 1; i <= 15; i++) {
 7         scanf("%d", &a[i]);//利用for迴圈依次輸入資料到陣列中
 8         he = he + a[i];//利用這個for迴圈順便計算所有數的和,方便以後計算平均值使用
 9     }
10     for(int i=1; i<=15
; i++) 11 for (int j = 1; j <= i; j++) 12 if (a[i] < a[j]) { 13 ze = a[i]; 14 a[i] = a[j]; 15 a[j] = ze; 16 }/*氣泡法實質上就是挨著個列舉每一個數,然後和每一個數進行比較, 17 如果滿足條件就交換兩個數的位置,這樣 依次比較完所有的數後來順序也就排好了 18 注:冒泡法由於是挨著個列舉,因此耗時會很大,在正式比賽中很少會用到冒泡演算法
*/ 19 pingjun = he / 15;//求平均值 20 for(int i=1; i<=15; i++) printf("%d ",a[i]);//依次輸出排序後的每一個數 21 printf("\n");//換行(為了美觀) 22 printf("最大值為:"); 23 printf("%d\n",a[15]) ;//由於排好序了,因此15號的數就是最大的 24 printf("最小值為:"); 25 printf("%d\n",a[1]) ;//由於排好序了,因此1號的數就是最小的 26 printf("中位數為:");
27 printf("%d\n",a[7]) ; 28 printf("平均值為:"); 29 printf("%d\n",pingjun) ; 30 return 0; 31 }
View Code