C语言有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
时间: 2023-11-05 17:04:23 浏览: 172
可以采用插入排序的思想,从数组的末尾开始往前遍历,找到第一个比输入数小的位置,然后将该位置以及它之后的所有元素依次后移一位,最后将输入数插入找到的位置即可。
代码如下:
```c
#include <stdio.h>
int main() {
int arr[100] = {1, 3, 4, 6, 8, 9, 11, 14, 16, 18}; // 已排好序的数组
int len = 10; // 数组长度
int num; // 要插入的数
int i, j;
printf("请输入要插入的数:");
scanf("%d", &num);
// 找到第一个比输入数小的位置
for (i = len - 1; i >= 0; i--) {
if (arr[i] < num) {
break;
}
}
// 将该位置以及之后的所有元素依次后移一位
for (j = len - 1; j >= i + 1; j--) {
arr[j + 1] = arr[j];
}
// 将输入数插入找到的位置
arr[i + 1] = num;
// 输出插入后的数组
printf("插入后的数组为:");
for (i = 0; i < len + 1; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20250102104920.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)