用c语言写一个有一个已排好序的数组,要求输入一个数后,按从大到小的规律将它插入到数组中。
时间: 2023-11-05 17:12:16 浏览: 68
好的,这是一个比较常见的问题。可以通过以下方式实现:
1. 首先定义一个已排好序的数组,并输入要插入的数。
2. 使用循环遍历数组,找到输入数应该插入的位置。
3. 插入输入数到数组中,并将其它数向后移动一个位置。
4. 输出新的数组,按照从大到小的规律排列。
以下是示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE], n, i, j, temp, k;
// 输入数组元素个数
printf("请输入数组中元素的个数: ");
scanf("%d", &n);
// 输入已排好序的元素
printf("请输入%d个有序数组元素: \n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 输入要插入的元素
printf("请输入要插入的元素: ");
scanf("%d", &temp);
// 寻找插入位置
for (i = 0; i < n; i++) {
if (temp >= arr[i]) {
for (j = n - 1; j >= i; j--) {
arr[j+1] = arr[j];
}
arr[i] = temp;
break;
}
}
if (i == n) {
arr[n] = temp;
}
// 按从大到小的规律输出数组
printf("按从大到小的规律输出数组: \n");
for (k = 0; k <= n; k++) {
printf("%d ", arr[k]);
}
return 0;
}
```
此代码仅供参考,欢迎您自行调试及优化。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)