c++已知从小到大排列的5个数(38,100,312,531,812),再输入一个数,要求按原来的规律将它插入该数组中。
时间: 2023-08-16 12:06:58 浏览: 87
可以使用插入排序的思路来解决这个问题。
具体步骤如下:
1. 定义一个大小为6的数组 arr,将给定的5个数存入其中。
2. 输入一个数 num。
3. 从数组的最后一个位置开始,依次将数组中的元素向后移动,直到找到第一个比 num 小的元素或者遍历到数组的第一个位置。
4. 将 num 插入到刚才找到的位置之后。
5. 输出插入后的数组。
代码实现如下:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[6] = {38, 100, 312, 531, 812}; // 原始数组
int num; // 待插入的数
cout << "请输入一个数:" << endl;
cin >> num;
int i = 4; // 从数组的最后一个位置开始遍历
while (i >= 0 && arr[i] > num) { // 找到第一个比 num 小的元素
arr[i + 1] = arr[i]; // 将元素向后移动
i--;
}
arr[i + 1] = num; // 将 num 插入到刚才找到的位置之后
cout << "插入后的数组为:" << endl;
for (int j = 0; j < 6; j++) { // 输出插入后的数组
cout << arr[j] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
请输入一个数:
200
插入后的数组为:
38 100 200 312 531 812
```
阅读全文