首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 輸入 10 整數排序輸出:函數模塊化標準實現

     編輯:程式設計綜合問答

需求

鍵盤輸入 10 個 int,函數 sort 排序,input 輸入,output 輸出,主函數調用。

完整代碼


#include 
#define N 10

void input(int a[], int n);
void sort(int a[], int n);
void output(int a[], int n);

int main() {
    int a[N];
    input(a, N);
    sort(a, N);
    output(a, N);
    return 0;
}

void input(int a[], int n) {
    for (int i = 0; i < n; i++) {
        printf("請輸入第 %d 個整數: ", i + 1);
        while (scanf("%d", &a[i]) != 1) {
            scanf("%*s"); // 清除非法輸入
            printf("輸入無效,請重新輸入第 %d 個整數: ", i + 1);
        }
    }
}

void sort(int a[], int n) {
    for (int i = 0; i < n - 1; i++)
        for (int j = 0; j < n - 1 - i; j++)
            if (a[j] > a[j + 1]) {
                int t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;
            }
}

void output(int a[], int n) {
    printf("排序結果: ");
    for (int i = 0; i < n; i++) printf("%d ", a[i]);
    printf("\n");
}

關鍵點

  • 冒泡排序 O(N²),N=10 足夠。
  • input 含非法輸入檢測 (scanf 返回值判斷)。
  • 函數參數傳遞數組首地址 + 長度。
  • 主函數僅調用三函數,職責單一。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved