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

如何在C++中计算二维数组的每行元素之和?

解决C++二维数组每行元素求和的问题

我来帮你搞定这个二维数组每行求和的需求!先看看你现有代码里的几个小问题,然后一步步修正:

现有代码的问题分析

  • 变量sum没有在每一行循环开始前初始化,这样累加的时候会带上上一行的结果,导致计算错误
  • 缺少对当前行元素的累加逻辑,没把arrayList[i][j]加到sum里
  • cout << sum;放在内层循环里会跟着每个元素重复输出,应该等整行元素打印完后再输出这一行的总和
  • total变量目前没用到,如果需要计算所有元素的总和也可以顺便加上,不过先聚焦每行求和的需求

修正后的完整代码

#include <iostream>
#include <iomanip>
using namespace std;
const int rows = 3;
const int cols = 4;

int main(){
    int arrayList[rows][cols] = {1,2,3,4,5,6,7,8,9,10,11,12};
    int total = 0; // 用来存所有元素的总和,可选
    int sum;

    for(int i=0; i<rows; i++){
        sum = 0; // 关键:每处理一行前,把sum重置为0
        cout << endl;
        for(int j=0; j<cols; j++){
            cout << setw(5) << arrayList[i][j];
            sum += arrayList[i][j]; // 累加当前行的每个元素
            total += arrayList[i][j]; // 可选:累加所有元素的总和
        }
        // 整行元素打印完后,输出这一行的总和
        cout << setw(8) << "行总和: " << sum;
    }

    cout << endl << endl;
    cout << "所有元素的总和: " << total << endl; // 可选输出
    return 0;
}

代码修改说明

  1. 初始化sum:在每行的外层循环开头把sum设为0,确保每行的求和都是从0开始计算
  2. 元素累加:在内层循环里,把当前遍历到的arrayList[i][j]加到sum中,完成每行的求和
  3. 调整输出位置:把sum的输出移到内层循环外面,这样每行元素打印完后才输出一次该行的总和,格式更清晰
  4. 可选的总行数求和:利用原来的total变量,顺便计算所有元素的总和,如果你不需要可以删掉这部分

运行这段代码后,输出会是这样的:

1    2    3    4   行总和: 10
    5    6    7    8   行总和: 26
    9   10   11   12   行总和: 42

所有元素的总和: 78

这样就完美实现了你要的每行元素求和功能啦!

内容的提问来源于stack exchange,提问作者Derick Larson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:34:58