c语言,编写程序,有一个已经排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中。
时间: 2023-12-01 17:26:44 浏览: 75
可以使用插入排序的思想来实现。具体步骤如下:
1. 输入一个数 num。
2. 遍历已经排好序的数组,找到第一个比 num 大的数的位置 index。
3. 将 num 插入到数组的 index 位置。
4. 输出插入后的数组。
以下是示例代码:
```c
#include <stdio.h>
int main() {
int arr[100];
int n, num, i, j;
// 输入已排序数组
printf("请输入已排序数组的长度:");
scanf("%d", &n);
printf("请输入已排序数组:");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 输入待插入的数
printf("请输入待插入的数:");
scanf("%d", &num);
// 插入排序
for (i = 0; i < n; i++) {
if (arr[i] > num) {
// 找到第一个比 num 大的数的位置
break;
}
}
for (j = n; j > i; j--) {
// 将 num 插入到数组的 index 位置
arr[j] = arr[j-1];
}
arr[i] = num;
n++;
// 输出插入后的数组
printf("插入后的数组为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
注意:这里假设数组的长度不超过 100,如果需要处理更大的数组,需要根据实际情况修改代码。
阅读全文