for循环中的数组加法

Array addition in for loop

最后一个 for 循环有问题。想要数组值的总和。

#include<iostream>
using namespace std;

// Arrays

int main()
{
    const int numEmploye = 6;
    int horas[numEmploye];
    int total = 0;

    for (int i = 0; i < numEmploye; i++) {
        cout << "entre las horas trabajadas por el empleado " << i + 1 << ": ";
        cin >> horas[i];
    }
    for (int i = 0; i < numEmploye; i++) {
        cout << horas[i] << endl;
    }

    for (int i = 0; i < numEmploye; i++){
        cout << total += numEmploye[i];
    }

    system("Pause");
    return 0;
}

您正在输出 += 运算符的 return 值。您还为数组使用了错误的变量。

for (int i = 0; i < numEmploye; i++){
    total += horas[i];
}
cout << total << endl; // endl flushes the buffer

而不是使用以下打印总值 += numEmploye[i] 的值; numEmploye 次...

for (int i = 0; i < numEmploye; i++){
    cout << total += numEmploye[i];
}

...先计算总数然后打印。

for (int i = 0; i < numEmploye; i++){
    total += horas[i];
}
cout << total;

此外,从 C++11 开始,您可以使用以下选项之一:

#include <numeric>
 ...
int total = std::accumulate(std::begin(horas), std::end(horas), 0);
std::cout << total << std::endl;

for (int i : horas)
    total += i;
std::cout << total << std::endl;