#include
using namespace std;
int main()
{
int a,b;
float c; //平均数应为浮点型,因为结果不一定是整数
int n;
cout<<"请输入若干个整数n:";
for(a=0,b=0;;a++,b+=n,c=1.0*b/a) //整数相除,结果还是整数,会丢失小数部分,要乘1.0
{
cin>>n;
if(n==0)break; //判断相等要用==
}
cout<<"个数="< cout<<"总和="< cout<<"平均数="<
}
如果有帮助请采纳!
你最后的0是不会被统计进去的,因为break了,楼下的解释有问题。
#include
using namespace std;
int main()
{
int a,b,c;
int n;
cout<<"请输入若干个整数n:";
for(a=0,b=0;;a++,b+=n,c=b/a)
{
cin>>n;
if(n=0)break; //应该用if(n==0) 判断写错了。if(n=0)是将0赋值给n了,再来判断n的值.永远是false
}
cout<<"个数="< cout<<"总和="< cout<<"平均数="<
}
//然后你算的个数和平均数连最后输入的0也算进去了。
#include
using namespace std;
int main()
{
int a,b,n;
float c;//平均数用浮点数统计
cout<<"请输入若干个整数,以0结束:";
for(a=0,b=0;;a++,b+=n)//计算平均数在循环结束后算一次即可
{
cin>>n;
if(n==0)break;//是n==0,不是n=0
}
c=1.0*b/a;//使整数除法转为浮点数除法
cout<<"个数="< cout<<"总和="< cout<<"平均数="<
}
for(a=0,b=0;;a++,b+=n,c=b/a) //无论正数都累加 错了
{
cin>>n;
if(n=0)break; //跳出条件错了
}
==>
for(a=0,b=0;;)
{
cin>>n;
if(n==0) break;//等于0跳出
if(n>0) a++,b+=n,c=b/a; //大于0才累加及计算平均值
}