#include <stdio.h>
#define N 10

int a[N];

int main() {
    int n;
    printf("请输入数据个数n(n不得超过%d):", N);
    scanf("%d", &n);
    if (n > N) {
        printf("n超过了%d,程序结束。\n", N);
        return 0;
    }
    for (int i = 0; i < n; i++) {
        printf("第%d个数:", i + 1);
        scanf("%d", &a[i]);
    }
    // 冒泡排序
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - 1 - i; j++) {
            if (a[j] < a[j + 1]) {
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
    printf("排序后的数据:");
    for (int i = 0; i < n; i++) {
        printf("%d ", a[i]);
    }
    printf("\n");
    char c = 'y';
    while (c == 'y' || c == 'Y') {
        if (n == N) {
            printf("数据已满,无法插入,程序结束。\n");
            return 0;
        }
        int x;
        printf("请输入1个新的数据:");
        scanf("%d", &x);
        int i;
        for (i = n - 1; i >= 0; i--) {
            if (x > a[i]) {
                a[i + 1] = a[i];
            } else {
                break;
            }
        }
        a[i + 1] = x;
        n++;
        printf("新的数据列表:");
        for (int i = 0; i < n; i++) {
            printf("%d ", a[i]);
        }
        printf("\n");
        printf("是否继续插入数据?(y/n)");
        scanf(" %c", &c);
    }
    return 0;
}
C语言数组排序与数据插入功能实现

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

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