c++的文件输入输出流问题

输入不多于5组数据,每组数据由一个整数n打头,表示后面跟着n个整数
对于每组数据,输出其平均数,精确到小数点后3位,每个平均数独占一行。
如输入
3 6 5 18
4 1 2 3 4
应输出
9.667
2.500
帮小弟个忙,谢谢大家了!!!
问题补充:比如在xx.txt中输入
3 4 5 6
4 5 6 15 4
在yy.txt内会写入
5.000
7.500

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

int main()
{
ifstream in;
ofstream out;
in.open("xx.txt");
out.open("yy.txt");
int n,i;
float avg,v;
while(cin>>n)
{
avg=0;
for(i=0;i<n;i++)
{
in>>v;
avg+=v;
}
avg/=n;
out<<avg<<endl;
}
in.close();
out.close();
return 0;

}

//注意输入输出文件路径问题,有问题可以再问
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-20
#include <iostream.h>

int main()
{
int sum=0,n,i,x[20];
cin>>n;
for(i=0;i<n;i++)
cin>>x[i];
for(i=0;i<n;i++)
sum+=x[i];
cout<<sum/n<<endl;
return 0;
}
第2个回答  2009-03-20
这里每次只能算一组数,和上楼的有些相似吧
#inlcude<iostream.h>
int main()
{
int num[6],sum=0;
float average;
cin>>num[0];
for(int loop=1;loop<=num[0];loop++){
cin>>num[loop];
sum=sum+num[loop];
}
average=(float)sum/(num[0]);
for(loop=0;loop<=num[0];loop++) cout<<num[loop]<<'\t';
cout<<"the average:"<<average<<endl;
return 1;
}
相似回答