冒泡排序實例

任意輸入10個整數的數列,先將整數按照從大到小的順序進行排序,然後輸入一個整數插入到數列中,使數列保持從大到小的順序。

#include <stdio.h>
void mop(int n, int a[]);

int main(void) {
    int a[11], i, j, temp;
    printf("請輸入10個整數:");    
    for (i = 0; i < 10; i++) {
        scanf("%d", &a[i]);
    }
    printf("從大到小排序結果爲:");
    mop(9, a);  //調用函數 
    printf("\n再輸入一個整數:");
    scanf("%d", &a[10]);
    printf("再次從大到小排序結果爲:");
    mop(10, a);
    printf("\n");                       
}
/* 冒泡排序函數 */
void mop(int n, int a[]) {
    int temp, i, j;
    for (i = 0; i < n; i++) {
        for (j = 0; j < n - i; j++) {
            if (a[j] < a[j + 1]) {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
    //遍歷數組 
    for (i = 0; i < n + 1; i++) {
        printf("%d  ", a[i]);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章