如何在C中迭代数组?

时间:2015-02-04 07:12:27

标签: arrays

所以我需要填写程序的代码来解决这个问题:

数组testGrades包含NUM_VALS个测试分数。写一个for循环,将sumExtra设置为收到的额外总积分。完全信用是100,所以100以上的额外信用。例如:如果是testGrades = {101, 83, 107, 90},那么sumExtra = 8,因为1 + 0 + 7 + 0是8。

#include <stdio.h>

int main(void) {
    const int NUM_VALS = 4;  
    int testGrades[NUM_VALS];           
    int i = 0;                         
    int sumExtra = -9999; // Initialize to 0 before your for loop

testGrades[0] = 101;
testGrades[1] = 83;
testGrades[2] = 107;
testGrades[3] = 90;

// STUDENT CODE GOES HERE


return 0;
}

到目前为止我只有:

for (i=0;i<NUM_VALS;++i) {
      if (testGrades[i] > 100) {
         sumExtra = testGrades[i] - 100;
      }
   }

我不知道如何找到超过100的值数组的总和。

3 个答案:

答案 0 :(得分:1)

首先,将sumExtra初始化为0.然后只需更改:

sumExtra = testGrades[i] - 100;

sumExtra += testGrades[i] - 100;

因为特定索引sumExtra的{​​{1}}为i,并且您想查找testGrades[i]-100的总数,因此请继续将其添加到sumExtra 1}}变量。

答案 1 :(得分:0)

在for循环之前初始化为0 int sumExtra = 0;

sumExtra = testGrades[i]-100;

sumExtra += testGrades[i]-100;

答案 2 :(得分:0)

您缺少if语句,用于检查测试分数是否高于100.以下是有效的代码:

    sumExtra = 0;
    for (i = 0; i < NUM_VALS; ++i) {
      if (testGrades[i] >= 101) {
      sumExtra += (testGrades[i] - 100);
      }
    }
    cout << "sumExtra: " << sumExtra << endl;