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

C++数组正负元素分别求和实现问题求助

解决数组正负元素分别求和的问题

你的代码有两个关键问题导致无法实现需求:

  • sum变量定义在循环内部:每次循环都会重新初始化sum = 0,累加的结果在循环结束后就被丢弃,根本没法保存累计值。
  • 正负元素共用同一个sum:不管正负都加到同一个变量里,最终只能得到所有元素的总和,无法区分正负求和。

修正后的代码如下:

// 把求和变量放在循环外部,初始化0,确保循环中能持续累加
int sumPos = 0; // 存储正数元素的和
int sumNeg = 0; // 存储负数元素的和

for (int i = 0; i < 10; i++) {
    if (bilIniziale[i] > 0) {
        sumPos += bilIniziale[i];
    } else if (bilIniziale[i] < 0) {
        sumNeg += bilIniziale[i];
    }
    // 如果需要统计0的数量或总和,可以添加else分支处理
}

// 循环结束后输出结果
cout << "正数元素总和:" << sumPos << endl;
cout << "负数元素总和:" << sumNeg << endl;

关键说明

  1. 求和变量必须定义在循环外部,这样每次循环的累加值才能被保留,不会被重复初始化。
  2. 用两个独立的变量分别存储正数和与负数和,通过条件判断将对应元素加到各自的变量中。
  3. 额外处理了0的情况(既不加到正数也不加到负数),如果你的需求里需要把0归到某一类,可以调整条件分支。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:25:23