问题的第一部分是编写一个程序:
提示用户输入整数值并保持运行总计。
#include<iostream>
using namespace std;
int main()
{
float n, sum=0.0, minimum=1.0, maximum=0.0, average;
int i = 0, x;
while(n != 0)
{
cout << "Enter number" << (i+1) << " :";
cin >> n;
if(n <= 0)
break;
sum += n;
i++;
if(n > maximum)
{
maximum = n;
}
if(n <= minimum)
{
minimum = n;
}
x = x + (i + 1);
}
cout << "Total=" << sum << endl;
average = sum / x;
cout << "Average=" << average << endl;
cout << "Maximum=" << maximum << endl;
cout << "Minimum=" << minimum << endl;
return 0;
}
,第二部分是:
修改上一个程序,打印出读入的最大和最小数字以及平均值。同时更改提示以显示仍要输入的数字数。
{{1}}
我的问题是我无法计算平均值并显示仍要输入的数字的数量。有人可以帮忙吗?
答案 0 :(得分:0)
问题是你将和除以x。你为什么需要这个x?我是你输入的对象的数量,只是将总和除以i;
还有一个bug,你定义变量n并且不设置值,你想要将它与0进行比较。它可能工作不正确。
#include<iostream>
using namespace std;
int main()
{
float n = 1,sum=0.0,minimum=1.0,maximum=0.0,average;
int i=0;
while(n!=0)
{
cout<<"Enter number"<<(i+1)<<" :";
cin>>n;
if(n<=0)
break;
sum+=n;
i++;
if(n>maximum)
{
maximum=n;
}
if(n<=minimum)
{
minimum=n;
}
}
cout<<"Total="<<sum<<endl;
average=sum/i;
cout<<"Average="<<average<<endl;
cout<<"Maximum="<<maximum<<endl;
cout<<"Minimum="<<minimum<<endl;
return 0;
}