标题 1.求1!c语言有一个已经排好序的数组,要求输入一个数后,按原来的排序规律,将它插入数组中
时间: 2023-12-01 16:07:58 浏览: 66
好的,这是一个比较基础的数组插入问题。可以按照以下步骤进行:
1. 首先定义一个已经排好序的数组,以及要插入的数。
```c
int arr[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int insert_num = 4;
```
2. 遍历数组,找到插入位置。
```c
int insert_index = 0;
for (int i = 0; i < 10; i++) {
if (insert_num > arr[i]) {
insert_index = i + 1;
} else {
break;
}
}
```
3. 将插入位置后面的元素全部后移一位。
```c
for (int i = 9; i > insert_index; i--) {
arr[i] = arr[i - 1];
}
```
4. 在插入位置处插入要插入的数。
```c
arr[insert_index] = insert_num;
```
5. 最后输出插入后的数组。
```c
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
```
完整代码如下:
```c
#include <stdio.h>
int main() {
int arr[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int insert_num = 4;
int insert_index = 0;
for (int i = 0; i < 10; i++) {
if (insert_num > arr[i]) {
insert_index = i + 1;
} else {
break;
}
}
for (int i = 9; i > insert_index; i--) {
arr[i] = arr[i - 1];
}
arr[insert_index] = insert_num;
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文