用c需要实现,已有一个排好序的数组,长度为n,要求输入一个待插入的数后,按原来排序的规律将该数 插入到数组中。 输入样例: 数组长度:9 待插入的数为:7 输出样例: 插入前数组为:0 2 3 5 6 8 9 10 12插入后数组为:0 2 3 5 6 7 8 9 10 12
时间: 2023-12-31 12:07:15 浏览: 16
好的,这个问题可以用C语言实现。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int n, num;
printf("输入数组长度:");
scanf("%d", &n);
int arr[n+1]; // 增加一个位置用于插入
printf("输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("输入待插入的数:");
scanf("%d", &num);
// 找到插入位置
int pos = 0;
while (pos < n && arr[pos] < num) {
pos++;
}
// 将后面的数依次后移
for (int i = n; i > pos; i--) {
arr[i] = arr[i-1];
}
// 插入数
arr[pos] = num;
// 输出结果
printf("插入前数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n插入后数组为:");
for (int i = 0; i <= n; i++) { // 注意数组长度增加了1
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序先从标准输入读取数组长度和元素,然后读取待插入的数。接着找到插入位置,将后面的数依次后移,最后将插入数插入到数组中。最后输出插入前和插入后的数组。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)