39、<简单>数字交换
📅 2026/7/6 16:44:47
👁️ 阅读次数
📝 编程学习
#include <iostream> using namespace std; int main() { cout << "输入说明:" ; cout << "第1行:数组长度N(N ≤ 20)" << endl; cout << "第2行:N个整数,空格分隔(下标从1开始)" << endl; cout << "第3行:第一段左右边界 L1 R1" << endl; cout << "第4行:第二段左右边界 L2 R2" << endl; cout << "规则:两段不重合、数字个数相等" << endl; int N; cout << "请输入数组长度N:"; cin >> N; int arr[25]; cout << "请输入" << N << "个数字:"; for (int i = 1; i <= N; i++) { cin >> arr[i]; } int L1, R1, L2, R2; cout << "请输入第一段区间L1 R1:"; cin >> L1 >> R1; cout << "请输入第二段区间L2 R2:"; cin >> L2 >> R2; // 区间长度 int len = R1 - L1 + 1; int temp; // 逐位交换两段对应位置 for (int k = 0; k < len; k++) { temp = arr[L1 + k]; arr[L1 + k] = arr[L2 + k]; arr[L2 + k] = temp; } // 输出结果 cout << "\n交换后数组:"; for (int i = 1; i <= N; i++) { if (i > 1) cout << " "; cout << arr[i]; } cout << endl; return 0; }
编程学习
技术分享
实战经验