C++求平均数

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:49:26
#include<iostream>
#include<iomanip>
using namespace std;

int main(){

double n,sum=0;
int m=0;
for(; cin>>n;)
{
sum+=n;
m++;
}
cout<<setprecision(2)<<sum/m<<'\n';
return 0;
}
我想编一个求平均数的程序,如上,不知道哪里错了啊.
谢谢一楼,二楼的回答,不过还是不行啊.运行后enter下没有输出的.
换行的话,老师说VC++6.0中 endl "\n" '\n'都一样啊.

我觉得应该把需要求的数字存入一个数组中,然后在累加起来除以元素的个数。就行了啊。

#include<iostream>
#include<iomanip>
using namespace std;

int main(){

double n,sum=0;
int m=0;
for(;cin>>n,n;) //cin>>n永为真的
{
sum+=n;
m++;
}
cout<<setprecision(2)<<sum/m<<'\n';
return 0;
}

我也不会做 只能弄个输入0结束的
int i,j=-1;
double sum=0.0;
while(i)
{
cin>>i;
sum=sum+i;
j++;
}
cout<<sum/j;

你的程序是对的,不是endl "\n" '\n'问题,是for(; cin>>n;)
这里要用输入结束符,如果你不输入输入结束符他会永远执行下去,输入结束符是ctrl+z不过由于VC++6.0的BUG问题,你要输入两次才会结束

没有输入结束标志无法结束输入
cout<<setprecision(2)<<sum/m<<'\n'; 中不应该是‘\n'应该是"\n"或者endl

'\n'是在C语言中用到的换行在C++中用endl;还有别的,,,