c语言有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。
时间: 2023-12-01 08:42:42 浏览: 92
针对已排好序的数组,可以使用插入排序的思想来实现插入一个数。具体实现步骤如下:
1. 定义一个已排好序的数组,以及需要插入的数num;
2. 遍历数组,找到第一个比num大的数的位置i;
3. 将i及其后面的数都向后移动一位;
4. 将num插入到位置i上;
5. 输出插入后的数组。
下面是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int a[6] = {2, 4, 5, 7, 8};
int num, i, j;
// 输出原数组
for (i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 输入插入的数
scanf("%d", &num);
// 判断插入位置
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;
}
```
输入一个数后,程序会将其按照原来排序的规律插入到数组中,并输出插入后的数组。
阅读全文