/* 程式功能:氣泡排序法(Bubble Sort):輸入數個數值,並以氣泡排序法由小至大將數值排序 */ #include <stdio.h> /* 氣泡排序法 Bubble Sort */ void main(void) { int data[50]; int i,j,n,temp; printf("輸入數值的個數: "); /*輸入n */ scanf("%d" ,&n); printf("\n"); if (n > 49) { printf("請輸入小於49的數字\n"); return; } for (i = 1;i <= n;i++) { /*輸入 n 個數值 */ printf("請輸入數值:"); printf("data[%d]=", i); scanf("%d", &data[i]); } for (i=1; i <= n; i++) { for (j = n; j > i; j--) { if (data[j-1] > data[j]) { /*若 data[j-1] > data[j],則兩個值交換 */ temp = data[j-1]; data[j-1] = data[j]; data[j] = temp; } } } printf("\n資料排序後為\n"); for (i = 1; i <= n; i++) { printf("%d ", data[i]); } }