【发布时间】:2016-10-19 06:36:04
【问题描述】:
我有一个程序询问用户他们想输入多少个测验,存储成绩,然后计算平均值。成绩必须在 0 到 100 之间。但是,当我输入高于 100 的成绩时,平均成绩是错误的。它不会重置总和。如果我输入 120 并提示我重新输入成绩,它在计算平均值时仍然使用 120。如何让它重置?
注意:我不想更改格式(例如使用 while 循环)。
#include <iostream>
using namespace std;
int main(){
int n, i;
float num[13], sum=0.0, average;
cout << "Enter the numbers of quizzes from 1-13: ";
cin >> n;
while (n < 1 || n > 13)
{
cout << "You must enter a number from 1 - 13." << endl;
cout << "Enter the number of quizzes you would like to input(1-13): “;
cin >> n;
}
for(i=0; i<n; ++i)
{
cout << i+1 << ". Enter number: ";
cin >> num[i];
sum+=num[i];
while (num[i] < 0 || num[i] > 100)
{
cout << “You must enter a number between 0 and 100. Re enter scores.”;
cout << i+1 << ". Enter number: ";
cin >> num[i];
}
}
average=sum/n;
cout << "Average = " << average;
return 0;
}
【问题讨论】: