#include <stdio.h>
#define N 10

int main() {
    int a[N], n, i, j;
    char c;
    printf('请输入数据个数n (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++) {
        for (j = 0; j < n-i-1; j++) {
            if (a[j] < a[j+1]) {
                int temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
    // 输出排序结果
    printf('排序结果: ');
    for (i = 0; i < n; i++) {
        printf('%d ', a[i]);
    }
    printf('\n');
    // 插入新数据
    do {
        printf('请输入一个新的数据: ');
        int num, index = n;
        scanf('%d', &num);
        if (num <= a[n-1]) {
            printf('新数据不大于已有数据,无法插入。\n');
            continue;
        }
        while (index > 0 && num > a[index-1]) {
            a[index] = a[index-1];
            index--;
        }
        a[index] = num;
        n++;
        // 输出新数据列表
        printf('新数据列表: ');
        for (i = 0; i < n; i++) {
            printf('%d ', a[i]);
        }
        printf('\n');
        if (n >= N) {
            printf('数据个数已满%d,程序结束。\n', N);
            return 0;
        }
        printf('是否继续插入数据?(Y/N): ');
        scanf(' %c', &c);
    } while (c == 'Y' || c == 'y');
    return 0;
}
C语言实现数据排序和插入功能

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

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