编写一个程序,将输入的数据插入到一个已按升序排好的数组中,要求插入后的数组仍然按升序排列。c语言表示
时间: 2023-06-04 13:07:29 浏览: 181
以下是C语言实现:
```
#include <stdio.h>
int main() {
int arr[100]; // 假设数组最多可以存100个元素
int n, insert;
// 读入数组元素的数量n
printf("请输入数组元素的数量:");
scanf("%d", &n);
// 读入已排好序的数组
printf("请输入已排好序的数组:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 读入需要插入的元素
printf("请输入需要插入的元素:");
scanf("%d", &insert);
// 在数组中查找插入位置
int pos = n;
for (int i = 0; i < n; i++) {
if (insert < arr[i]) {
pos = i;
break;
}
}
// 将元素插入到数组中,注意需要移动后面的元素
for (int i = n; i > pos; i--) {
arr[i] = arr[i-1];
}
arr[pos] = insert;
n++; // 数组元素数量加1
// 输出插入后的数组
printf("插入后的数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文