)已有一个已排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中
时间: 2023-11-29 12:47:51 浏览: 86
如果已有一个已排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中,可以使用以下方法实现:
```c
#include <stdio.h>
int main() {
int a[6] = {2, 4, 5, 7, 8};
int end = a[4]; // 标记末尾数
int num, i, j;
// 输出原数组
for (i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 输入插入的数
scanf("%d", &num);
// 判断插入位置
if (num > end) {
a[5] = num;
} else {
for (i = 0; i < 5; i++) {
if (a[i] > num) {
for (j = 5; j > i; j--) {
a[j] = a[j - 1];
}
a[i] = num;
break; // 插入完成即可退出循环
}
}
}
// 输出插入的数组
for (i = 0; i < 6; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
该程序首先定义了一个已排好序的数组a,然后输入一个数num,根据num与数组中的数的大小关系,判断num应该插入的位置,然后将num插入到数组中,并输出插入后的数组。
阅读全文