#include <stdio.h> #define N 10

int main() { int a[N]; int n, i, j, temp, flag; char ch;

printf('请输入数据个数n(不超过%d):', N);
scanf('%d', &n);

if (n > N) {
    printf('数据个数超过%d,程序结束\n', N);
    return 0;
}

for (i = 0; i < n; i++) {
    printf('请输入第%d个数:', i + 1);
    scanf('%d', &a[i]);
}

// 冒泡排序
for (i = 0; i < n - 1; i++) {
    flag = 0;
    for (j = 0; j < n - 1 - i; j++) {
        if (a[j] < a[j + 1]) {
            temp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = temp;
            flag = 1;
        }
    }
    if (flag == 0) {
        break;
    }
}

printf('排好序的数据为:');
for (i = 0; i < n; i++) {
    printf('%d ', a[i]);
}
printf('\n');

do {
    if (n >= N) {
        printf('数据已满,无法插入\n');
        break;
    }
    printf('请输入一个新的数据:');
    scanf('%d', &temp);

    for (i = 0; i < n; i++) {
        if (temp > a[i]) {
            for (j = n - 1; j >= i; j--) {
                a[j + 1] = a[j];
            }
            a[i] = temp;
            n++;
            break;
        }
    }

    printf('新的数据列表为:');
    for (i = 0; i < n; i++) {
        printf('%d ', a[i]);
    }
    printf('\n');

    printf('是否需要继续插入数据?(Y/N)');
    scanf(' %c', &ch);
} while (ch == 'Y' || ch == 'y');

return 0;

}

C语言数组排序和数据插入:实现排序、插入和数据满提示

原文地址: https://www.cveoy.top/t/topic/l4CB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录