![]()
#include <iostream> using namespace std; int main() { cout << "【输入说明】" ; cout << "第1行:等待插入的整数n" << endl; cout << "第2行:原有序数列元素个数m(m ≤ 1000)" << endl; cout << "第3行:m个从小到大排列的整数,空格分隔" << endl; cout << "【输出规则】输出插入后保持升序的完整数组,空格隔开" << endl; int insertNum; cout << "请输入待插入数字n:"; cin >> insertNum; int m; cout << "请输入原数组元素个数m:"; cin >> m; int arr[1001]; // 原数组最多1000个,插入后最多1001 cout << "请输入" << m << "个升序整数:"; for (int i = 0; i < m; i++) { cin >> arr[i]; } // 1. 找到插入位置pos int pos = 0; while (pos < m && arr[pos] < insertNum) { pos++; } // 2. 从后往前移动元素,腾出pos位置 for (int i = m; i > pos; i--) { arr[i] = arr[i - 1]; } // 3. 将数字插入空位 arr[pos] = insertNum; // 4. 输出新数组(共m+1个元素) cout << "\n插入完成后的有序数组:"; for (int i = 0; i <= m; i++) { if (i > 0) cout << " "; cout << arr[i]; } cout << endl; return 0; }
![]()