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

如何通过2次输入获取4个整数值?C++编程新手求助

问题解决方案

首先,你的代码存在两个核心问题:

  • cin输入语法错误:cin >> a, b; 里的逗号是逗号运算符,只会执行cin >> a,b不会被读取输入。正确的多变量输入语法是用>>连接,比如cin >> a >> b;。
  • 变量类型不符合需求:你需要处理整数,却用了float类型,应该改用int更合适。

另外,你提到“第二次输入得到3”,这里的逻辑是:两次输入操作(两次回车)总共提供4个整数即可——C++的cin会自动忽略空格、换行等空白字符,不管你把4个数分几次输入,只要输入的内容是4个整数,就能正确按顺序填充变量。

修正后的代码如下:

#include <iostream>
using namespace std;

int main(){
    int A, B, a, b, c, d;
    cout << "第一次输入1-2个整数:\n";
    cin >> a >> b;
    cout << "第二次输入剩余整数(凑够4个即可):\n";
    cin >> c >> d; 
    
    A = a + b;
    B = c + d;

    cout << "Sum of factors A: " << A << endl;
    cout << "Sum of factors B: " << B << endl;

    if (A < B){
        cout << "Sum of factors for integer A < Integer B" << endl;
    }
    else if(A > B){
        cout << "Sum of factors for integer B < Integer A" << endl;
    }
    else {
        // 补充原代码缺失的相等情况处理
        cout << "Sum of factors for integer A equals Integer B" << endl;
    }
    
    return 0;
}

代码说明

  1. 输入语法修正:用cin >> a >> b;和cin >> c >> d;实现多变量读取,支持同一次输入多个整数(比如第一次输入2 3回车,第二次输入4 5回车;或者第一次输入2回车,第二次输入3 4 5回车),cin会自动按顺序填充变量直到4个值全部获取。
  2. 变量类型调整:将float改为int,匹配你处理整数的需求。
  3. 完善逻辑分支:补充了原代码未处理的A、B相等的情况。
  4. 提示信息优化:明确两次输入的要求,避免操作混淆。

内容的提问来源于stack exchange,提问作者Emman Alba

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:57:43