所以这是我的代码(剥离标题,因为这是不可靠的。)
int main() {
float program = 0;
float scores = 0;
float test = 0;
float testScores = 0;
float e = 1;
float exam = 0;
float programAverage = 0;
cout << "Enter the number of assignments that were graded: ";
cin >> program;
for (int i = 1; i <= program; i++){
cout << "Enter the score for assignment # " << i <<": "; cin >> scores;
}
cout << "Enter the number of test: ";
cin >> test;
for (int e = 1; e <= test; e++){
cout << "Enter the score for test # " << e << ": "; cin >> testScores;
}
cout << "Enter the final exam score: ";
cin >> exam;
programAverage = (scores/program);
cout << "Program Average: " << programAverage << endl;
}
最后一部分我遇到了问题,因为每当我编译程序时,编译器只会记住用户输入的最后一个数字而不是平均值。如何才能将所有用户输入数字加在一起然后平均?
答案 0 :(得分:1)
float _sum=0;
for (int i = 1; i <= program; i++){
cout << "Enter the score for assignment # " << i <<": "; cin >> scores;
_sum+=i;
}
programAverage = (_sum/program);
cout << "Program Average: " << programAverage << endl;
答案 1 :(得分:1)
int main() {
float program = 0;
float scores = 0;
float test = 0;
float testScores = 0;
float e = 1;
float exam = 0;
float programAverage = 0;
float scoresSum = 0; // variable that adds up all the input scores
cout << "Enter the number of assignments that were graded: ";
cin >> program;
for (int i = 1; i <= program; i++){
cout << "Enter the score for assignment # " << i <<": "; cin >> scores;
scoresSum += scores; // adds up all the scores
}
cout << "Enter the number of test: ";
cin >> test;
for (int e = 1; e <= test; e++){
cout << "Enter the score for test # " << e << ": "; cin >> testScores;
}
cout << "Enter the final exam score: ";
cin >> exam;
programAverage = (scoresSum/program); // divide the total score out of program number
cout << "Program Average: " << programAverage << endl;
}
所以问题是你没有加上输入分数。 变量“得分”仅具有最后输入得分的值。 您必须设置一个变量来总结到目前为止的所有输入分数,例如代码中的scoresSum。 并在每次提交分数时加分。
通过查看带注释的行,您可以轻松找到代码与我的代码之间的差异。
答案 2 :(得分:0)
好吧,因为这个循环,scores
总是输入最后一个值:
for (int i = 1; i <= program; i++){
cout << "Enter the score for assignment # " << i <<": "; cin >> scores;
}
平均值定义为总和除以实例数。你没有总结,当你cin >> scores
时,你只需要用最后一个读数值覆盖“得分”。所以问题可以重写为“如何汇总用户输入的所有数字?”计算机完全你告诉他们的内容,你需要弄明白如何完全告诉它总结所有输入的scores
。
那你在现实生活中会怎么做?您可以通过添加计算器来保持所有分数的运行记录。你首先要初始化一个计数:
double sum = 0.0;
然后在`cout&lt;&lt; “输入分数......”你加上总和:
sum = sum + scores;
或者C ++有方便的速记符号
sum += scores