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