鍵盤輸入 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 返回值判斷)。