/* 程式功能:氣泡排序法(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]);
    }
}
--Back--