用C语言帮我写个程序。设有一个已排好序的数组(降序),今输入一个数,要求按原来排序的规律将它插入到数组中。
时间: 2023-12-01 15:11:56 浏览: 70
有一个从小到大排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
好的,下面是C语言的代码实现:
```c
#include <stdio.h>
void insert(int arr[], int size, int num) {
int i = size - 1;
while(i >= 0 && arr[i] < num) {
arr[i + 1] = arr[i];
i--;
}
arr[i + 1] = num;
}
int main() {
int arr[100] = {10, 8, 6, 4, 2};
int size = 5, num, i;
printf("请输入要插入的数:");
scanf("%d", &num);
insert(arr, size, num);
size++;
printf("插入后的数组为:");
for(i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
程序中的 `insert` 函数用于将新的数 `num` 插入到已排好序的数组 `arr` 中,并保持数组的降序排列。
在 `main` 函数中,先定义了一个降序排列的数组和数组的大小。然后从控制台输入要插入的数 `num`,调用 `insert` 函数将其插入到数组中,最后输出插入后的数组。
阅读全文