You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现支持无限输入元素的C++ Vector?现有代码需改造

支持无限输入的C++ Vector程序修改方案

修改后的完整代码

#include <iostream>
#include <cmath>
#include <vector>
using namespace std;

int main(){
    vector<int> N; // 不指定初始大小,动态扩容
    vector<int> M;
    
    int m, n;
    // 循环读取输入,直到输入结束(如按Ctrl+D,或输入非整数内容)
    while (cin >> m >> n) {
        M.push_back(m);
        N.push_back(n);
    }

    for(int i=0; i<M.size(); i++){
        if(N[i]<=0 || M[i]<=0){
            break;
        }
        else{
            int Min = min(N[i], M[i]);
            int l = Min;
            int Max = max(N[i], M[i]);
            cout << Min << " " ;
            do{
                cout << ++Min << " "; // 打印M和N之间的所有数
                l += Min;
            }while(Min != Max);
            cout << "sum =" << l << endl;
        }
    }
    return 0;
}

关键修改说明

  • Vector初始化:移除原代码中固定大小的初始化方式,改为空vector,通过push_back()动态添加元素,实现无限存储能力。
  • 输入循环:将固定次数的for循环替换为while(cin >> m >> n),该循环会持续读取用户输入的整数对,直到输入流结束(Windows下按Ctrl+Z,Linux/macOS下按Ctrl+D,或输入非整数内容触发读取失败)。
  • 遍历逻辑:遍历次数从固定的3改为M.size(),确保能处理所有用户输入的元素对。

输入说明

用户可连续输入多组整数对(每组两个整数,用空格或回车分隔),输入完成后通过结束输入流的方式停止,程序会自动处理所有输入的元素对。

内容的提问来源于stack exchange,提问作者Mohamed Khaled

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 03:10:35