计算平均值时重置总和
Reset the sum when calculating average
我有一个程序,它询问用户他们想要输入多少个测验,存储分数,并计算平均值。分数必须在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;
}
把sum+=num[i]
放到while (num[i] < 0 || num[i] > 100) ...
循环的后面!
这样你只能对有效的数字求和。
for(i=0; i<n; ++i)
{
cout << i+1 << ". Enter number: ";
cin >> num[i];
//sum+=num[i]; remove here !!
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];
}
sum+=num[i]; // <- insert here
}
for(i=0; i<n; ++i)
{
cout << i+1 << ". Enter number: ";
cin >> 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];
}
}
sum+=num[i];
average=sum/n;
cout << "Average = " << average;
return 0;
}
相关文章:
- 计算平均值,不包括上次得分
- 如何创建一个函数来计算并返回平均值、最大值和最小值
- 在二叉搜索树C++中计算平均值
- 我们如何并行运行算法的 n 个实例并以有效的方式计算结果函数的平均值?
- 我可以计算多线程数的平均值吗?
- 计算另一个图像像素满足条件的像素值的平均值
- 如何计算和显示C++中5个数字的平均值?
- 计算平均值:蒙版图像与投资回报率的不同结果
- 类型检测:使用variadic参数正确实现计算平均值的函数
- C 平均程序在循环时不计算n后不计算平均值
- C++ - 计算"for"函数中的平均值
- 计算用于CAFFE分类的HDF5数据集的平均值
- 如何使用多尺寸阵列计算C 中每个学生的平均值
- 如何计算结构阵列内的平均值
- 我需要以尺寸方式计算数组的平均值
- 我必须将 5 个数字放入一个数组中,而不是 cin 计算平均值并输出它,我做错了
- 我需要知道如何正确计算平均值和偏差
- 计算数组中特定线的平均值并存储在另一个数组中
- 如何使用不同的功能计算三个数字的总和,平均值和产物
- 浮点数组的中间模式平均值计算