编写一个程序,将输入的数据插入到一个已按升序排好的数组中,要求插入后的数组仍然按升序排列。c语言数组表示
时间: 2023-06-04 21:07:33 浏览: 247
有一个已排好序的数组,今输入一个数,要求按排序的规律将它插入数组中。
好的,我可以帮你回答这个问题。
以下是C语言实现:
```c
#include <stdio.h>
int main() {
int arr[100], n, i, j, temp, new_num;
printf("请输入数组长度: ");
scanf("%d", &n);
printf("请输入已排序数组: ");
for(i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("请输入要插入的数: ");
scanf("%d", &new_num);
for(i = 0; i < n; i++) {
if(new_num < arr[i]) { // 如果要插入的数比已排序数组当前位置小,就插入到该位置
temp = arr[i];
arr[i] = new_num;
new_num = temp;
}
}
arr[n] = new_num; // 把最后一个数赋值为要插入的数
printf("插入后的数组为: ");
for(i = 0; i <= n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输入:
```
请输入数组长度: 5
请输入已排序数组: 1 3 5 7 9
请输入要插入的数: 4
```
输出:
```
插入后的数组为: 1 3 4 5 7 9
```
希望能帮助到你!
阅读全文