C语言编程设有一个已排好降序的数组,今输入一个数,要求按原来排序的规律将它插入钊数组中。
时间: 2023-12-01 19:05:26 浏览: 73
可以按照以下步骤实现:
1. 定义一个已排好降序的数组和一个待插入的数。
```
int arr[] = {10, 8, 6, 4, 2};
int num = 5; // 待插入的数
```
2. 循环遍历数组,找到待插入的数应该插入的位置。
```
int i, j;
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
if (num >= arr[i]) {
break;
}
}
```
3. 将待插入的数插入到数组中。
```
for (j = sizeof(arr) / sizeof(arr[0]) - 1; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[i] = num;
```
完整的代码如下:
```
#include <stdio.h>
int main() {
int arr[] = {10, 8, 6, 4, 2};
int num = 5; // 待插入的数
int i, j;
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
if (num >= arr[i]) {
break;
}
}
for (j = sizeof(arr) / sizeof(arr[0]) - 1; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[i] = num;
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:`10 8 6 5 4 2`。
阅读全文