所以我需要填写程序的代码来解决这个问题:
数组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的值数组的总和。
答案 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;