文件a.txt内容如下:
3 6 5 18
4 1 2 3 4每行的第一个数表示后面有几个数,如:第一行第一个数3,表示后面有3个数.求后面3个数的平均数我写的programs如下:
#include<iostream>
#include<fstream>
using namespace std;
void main(){
ifstream in("a.txt");
for(int n;in>>n;)
{
double sum=0;
for(int j,n1=1;in>>j && n1<=n;++n1)
sum+=j;
cout.precision(3);
cout<<fixed<<sum/n<<endl;
}
}编译后得到:
9.667
2.000
0.000我想问的是,为什么第二行不是显示2.500,而且最后为什么会显示一行0.000,不知道程序哪里有问题,百思不得其解,望哪位兄台帮我看看,谢谢先
3 6 5 18
4 1 2 3 4每行的第一个数表示后面有几个数,如:第一行第一个数3,表示后面有3个数.求后面3个数的平均数我写的programs如下:
#include<iostream>
#include<fstream>
using namespace std;
void main(){
ifstream in("a.txt");
for(int n;in>>n;)
{
double sum=0;
for(int j,n1=1;in>>j && n1<=n;++n1)
sum+=j;
cout.precision(3);
cout<<fixed<<sum/n<<endl;
}
}编译后得到:
9.667
2.000
0.000我想问的是,为什么第二行不是显示2.500,而且最后为什么会显示一行0.000,不知道程序哪里有问题,百思不得其解,望哪位兄台帮我看看,谢谢先
解决方案 »
- WindowDC的问题
- xp下,user权限下CreateFile无法打开USB存储设备的问题怎样解决???
- 关于列表快速显示大量数据的疑问. 快速列出大量数据的显示效率疑问.有关虚拟列表技术.
- 关于一个错误(BUG)
- 在VC++里面怎么调用函数更改工程名字
- 如何不开浏览器直接登录hotmail
- 文档指针问题探究?
- 关于邮件格式的解码Content-Transfer-Encoding: base64
- 如何在运行时在窗体上将一个Edit控件置为无效?
- 请问如何用MFC读取Excel里的数据然后通过串口发送出去?
- 感兴趣图片的提取
- 对话框上有几个EDIT控件,如何在对话框一打开,将将鼠标光标放到某个指定的EDIT控件上?
sum+=j;
//原来的写法,在n1 <= n 符合时,in多移动了一个字符
先 in>>j,j为真,在判断n1<=n
改后
先判断 n1<=n, 为假,则终止循环。