C语言有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中
时间: 2023-11-11 12:09:01 浏览: 87
好的,这是一个关于C语言数组插入问题。我们可以使用循环遍历数组并找到要插入的位置,然后将其插入到该位置。下面是示例代码:
```c
#include <stdio.h>
int main() {
// 已排好序的数组
int arr[] = {1, 3, 4, 6, 8, 9};
// 数组长度
int len = sizeof(arr) / sizeof(int);
// 待插入的数
int num = 5;
// 插入的位置
int pos = -1;
// 遍历数组,找到插入的位置
for (int i = 0; i < len; i++) {
if (num < arr[i]) {
pos = i;
break;
}
}
// 如果插入的位置是-1,则插入到数组末尾
if (pos == -1) {
arr[len] = num;
} else {
// 将插入位置后面的元素依次向后移动一位
for (int i = len - 1; i >= pos; i--) {
arr[i + 1] = arr[i];
}
// 将待插入的数插入到相应位置
arr[pos] = num;
}
// 输出排序后的数组
for (int i = 0; i < len + 1; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这段代码可以实现对已排好序的数组按原来的规律插入一个数。
阅读全文