编程实现以下数据处理功能1定义一个一维整型数组int aN;N由宏定义实现#define N 102提示用户输入数据个数n n不得超过N3输入n个整数依次存入数组a要求每次输入有提 示信息如第1个数第2个数 4采用冒泡排序法对输入的n个数进行排序由大到小然后输出排好序的数据输出在一-行内5提示用户输入1个新的数据然后将该数据插入到数组中保持由大到小的顺序并显示新的数据列表输出在一行内。6询问用户是
#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/Mx5 著作权归作者所有。请勿转载和采集!