1052: C语言程序设计教程(第三版)课后习题11.5
Time Limit: 1 Sec
Memory Limit: 128 MB
1052: C语言程序设计教程(第三版)课后习题11.5
Submit: 224 Solved: 116
[ Submit][ Status][ Web Board]
Description
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩(取整数),以及总分最高的学生的信息(包括学号、姓名、3门课成绩,如果有多个最高分,则输出第一个)
Input
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。
Output
各门课的平均成绩最高分的学生的数据(包括学号、姓名、3门课成绩)
Sample Input
2 1 blue 90 80 70 b clan 80 70 60
Sample Output
85 75 65 1 blue 90 80 70
HINT
Source
代码不解释:
#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
int main()
{
string a[100],b[100];
int c[100],d[100],e[100],n,i,ave=0,max=0;
while(cin>>n)
{
for(i=0;i<n;i++)
cin>>a[i]>>b[i]>>c[i]>>d[i]>>e[i];
for(i=0;i<n;i++)
ave+=c[i];
printf("%d ",ave/n);
ave=0;
for(i=0;i<n;i++)
ave+=d[i];
printf("%d ",ave/n);
ave=0;
for(i=0;i<n;i++)
ave+=e[i];
printf("%d\n",ave/n);
ave=0;
for(i=0;i<n;i++)
if(((c[i]+d[i]+e[i])/n)>max)
{
ave=i;
max=(c[i]+d[i]+e[i])/n;
}
cout<<a[ave]<<" "<<b[ave]<<" "<<c[ave]<<" "<<d[ave]<<" "<<e[ave]<<endl;
}
return 0;
}