任意輸入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]);
}
}