已知有序的整型数组a[10]={1,30,50,200,900},试编写一程序,从键盘输入一个整数,并将其插入到数组的合适位置,确保插入后数组的元素仍然有序
时间: 2024-05-13 07:17:54 浏览: 122
以下是一个示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int a[10] = {1, 30, 50, 200, 900};
int n, i, j;
// 输入要插入的整数
cout << "请输入要插入的整数:" << endl;
cin >> n;
// 找到要插入的位置
for (i = 0; i < 5; i++) {
if (n < a[i]) {
break;
}
}
// 将元素后移
for (j = 4; j >= i; j--) {
a[j+1] = a[j];
}
// 插入新元素
a[i] = n;
// 输出结果
cout << "插入后的数组为:" << endl;
for (i = 0; i < 6; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
程序中,首先定义了有序的整型数组a[10],并且从键盘输入一个整数n。然后,程序使用for循环找到n应该插入的位置i。接下来,程序使用for循环将数组元素后移,腾出位置给新元素。最后,程序将新元素插入到i位置,并输出结果。
需要注意的是,这里假设数组a已经按照从小到大的顺序排好了序。如果数组a没有排序,则需要在插入新元素之前先进行排序。
阅读全文