C语言:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
时间: 2023-11-11 10:13:45 浏览: 77
思路:
首先,需要遍历数组中的每个元素,找到插入位置。如果要插入的数比数组中的某个数小,则需要将该数之后的所有数向后移动一位,腾出位置插入新数。
代码实现:
```c
#include <stdio.h>
int main() {
int arr[100] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 已经排好序的数组
int n; // 要插入的数
int len = 10; // 数组长度
printf("请输入要插入的数:");
scanf("%d", &n);
// 遍历数组,找到插入位置
int i;
for (i = 0; i < len; i++) {
if (n < arr[i]) {
// 将该数之后的所有数向后移动一位
int j;
for (j = len - 1; j >= i; j--) {
arr[j+1] = arr[j];
}
// 插入新数
arr[i] = n;
len++; // 数组长度增加1
break;
}
}
// 如果遍历完数组都没有找到插入位置,则将新数插入到数组末尾
if (i == len) {
arr[len] = n;
len++; // 数组长度增加1
}
// 输出插入后的数组
printf("插入后的数组为:");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.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)