已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中,用C语言
时间: 2023-06-09 22:03:51 浏览: 67
来实现。
答:好的,下面是C语言代码实现。假设已有一个已排好序的数组arr,要插入的数为x。
```
#include <stdio.h>
void insert(int arr[], int n, int x) {
int i, j;
for (i = 0; i < n; i++) {
if (arr[i] > x) {
for (j = n; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[i] = x;
break;
}
}
if (i == n) {
arr[n] = x;
}
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int n = sizeof(arr) / sizeof(arr[0]);
int x;
printf("请输入要插入的数:");
scanf("%d", &x);
insert(arr, n, x);
printf("插入后的数组为:");
for (int i = 0; i < n + 1; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码中,insert函数用于实现按原来排序的规律将输入的数插入数组中,main函数用于调用insert函数并输出结果。