C语言实现数据排序和插入功能
#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;
}
原文地址: https://www.cveoy.top/t/topic/l4qs 著作权归作者所有。请勿转载和采集!