程序按预期执行,提示用户输入年龄,直到用户输入" -1"。一旦用户输入此程序,该程序将告诉您最大,最小和平均。除非我不确定如何平均输入,否则我一切正常工作,我们非常感谢!
更新:感谢所有帮助过的人,我已经更新了代码。唯一剩下的就是我没有得到正确的平均值。我已经包含了更新的代码。
#include<stdio.h>
int main()
{
int n, large, small;
int sumOfAges = 0;
double averageAge = 0.0;
int Num = 0;
printf("Enter an age: \n");
scanf("%d", &n);
large = n;
small = n;
while(n != -1)
{
printf("Enter an age: \n");
scanf("%d",&n);
if (n>large)
large = n;
if(n < small && n != -1)
small = n;
sumOfAges += n;
Num++;
}
averageAge = (sumOfAges/Num);
printf("\n The largest age is %d", large);
printf("\n The smallest age is %d", small);
printf("\n The average age is %lf", averageAge);
return 0;
}
答案 0 :(得分:2)
在您的while语句中,您应该跟踪输入的数量和输入的总值
int numberOfInputs = 0;
int totalValue = 0;
while(n != -1)
{
numberOfInputs++;
totalValue += n;
// Your other While-loop code here
}
通过将totalValue除以numberOfInputs得到的平均值。
float Average = (float)totalValue/numberOfInputs;
注意我将它转换为浮点数,因此计算是以浮点而非整数算术完成的。