C++中的有关文件的一道题目,求答案!
【描述】需要计算一些学生的加权平均分。给定输入文件gpa.dat,文件中每个学生的信息都由两行内容组成。第一行是学生姓名,第二行是他几门课的成绩。下面是某个输入文件gpa...
【描述】
需要计算一些学生的加权平均分。给定输入文件gpa.dat,文件中每个学生的信息都由两行内容组成。第一行是学生姓名,第二行是他几门课的成绩。下面是某个输入文件gpa.dat的内容:
Zhang
San
3 2.8 4
3.9 3 3.1
Li
Si
3 3.9 3
4.0 4 3.9
Wang
Wu
2 4.0 3
3.6 4 3.8 1 2.8
Liu
Liu
3 3.0 4
2.9 3 3.2 2 2.5
例如,张三(Zhang San)同学:第一门课,学分3,成绩3.8;第二门课,学分4,成绩3.9;第三门课,学分3,成绩3.1。
总平均分等于学分乘以成绩,加权平均分等于总平均分除以总学分数。加权平均分最低0.0,最高4.0。
【输入】
文件gpa.dat。(该文件已经存在,无需自己创建)
注意:本地调试程序时,则要求自己预先建立好gpa.dat文件。在Windows下,可以使用记事本。
【输出】
在屏幕上显示每个学生的加权平均分以及加权平均分的最大和最小值。
【输入示例】
文件gpa.dat,注意:这里只给出了其中部分内容。
Zhang
San
3 2.8 4
3.9 3 3.1
Li
Si
3 3.9 3
4.0 4 3.9
Wang
Wu
2 4.0 3
3.6 4 3.8 1 2.8
Liu
Liu
3 3.0 4
2.9 3 3.2 2 2.5
【输出示例】
GPA for
Zhang San = 3.33
GPA for
Li Si = 3.93
GPA for
Wang Wu = 3.68
GPA for
Liu Liu = 2.93
max GPA
= 3.93
min GPA
= 2.93 展开
需要计算一些学生的加权平均分。给定输入文件gpa.dat,文件中每个学生的信息都由两行内容组成。第一行是学生姓名,第二行是他几门课的成绩。下面是某个输入文件gpa.dat的内容:
Zhang
San
3 2.8 4
3.9 3 3.1
Li
Si
3 3.9 3
4.0 4 3.9
Wang
Wu
2 4.0 3
3.6 4 3.8 1 2.8
Liu
Liu
3 3.0 4
2.9 3 3.2 2 2.5
例如,张三(Zhang San)同学:第一门课,学分3,成绩3.8;第二门课,学分4,成绩3.9;第三门课,学分3,成绩3.1。
总平均分等于学分乘以成绩,加权平均分等于总平均分除以总学分数。加权平均分最低0.0,最高4.0。
【输入】
文件gpa.dat。(该文件已经存在,无需自己创建)
注意:本地调试程序时,则要求自己预先建立好gpa.dat文件。在Windows下,可以使用记事本。
【输出】
在屏幕上显示每个学生的加权平均分以及加权平均分的最大和最小值。
【输入示例】
文件gpa.dat,注意:这里只给出了其中部分内容。
Zhang
San
3 2.8 4
3.9 3 3.1
Li
Si
3 3.9 3
4.0 4 3.9
Wang
Wu
2 4.0 3
3.6 4 3.8 1 2.8
Liu
Liu
3 3.0 4
2.9 3 3.2 2 2.5
【输出示例】
GPA for
Zhang San = 3.33
GPA for
Li Si = 3.93
GPA for
Wang Wu = 3.68
GPA for
Liu Liu = 2.93
max GPA
= 3.93
min GPA
= 2.93 展开
展开全部
#include <iostream>
#define MAX 80+5
using namespace std;
int m,n;
long long return_pow_2(int i)
{
long long sum=1;
for(int j=1; j<=i; j++)
{
sum*=2;
}
return sum;
}
int main()
{
int number[MAX][MAX];
cin>>n>>m;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
cin>>number[i][j];
}
}
long long sum=0;
long long sum_lone;
for(int i=0; i<m; i++)
{
int max_num=number[i][0];
for(int j=0; j<n; j++)
{
if(number[j][i]>max_num)
{
max_num=number[j][i];
}
}
// cout<<max_num<<"\t";
sum_lone=max_num*return_pow_2(i+1);
sum+=sum_lone;
}
cout<<sum;
return 0;
}
追问
不懂啊,要从文件中写出显示在屏幕上
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询