注意:
代码:
#include <stdio.h>
struct stu
{
char num[100];
char name[100];
int score[3];
int sum;
}; //定义结构体
void input(struct stu* a,int n);
void output(struct stu* a,int n);
int main(void)
{
int n;
scanf("%d",&n);
struct stu a[n];
input(a,n);
output(a,n);
return 0;
}
void input(struct stu * a,int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%s%s%d%d%d",&(a[i].num),&(a[i].name),&(a[i].score[0]),&(a[i].score[1]),&(a[i].score[2]));
a[i].sum=a[i].score[0]+a[i].score[1]+a[i].score[2];
}
}
void output(struct stu* a,int n)
{
int i,j;
int ai=0,bi=0,ci=0;
for(i=0;i<n;i++)
{
ai+=a[i].score[0];
bi+=a[i].score[1];
ci+=a[i].score[2];
}
printf("%d %d %d\n",ai/n,bi/n,ci/n);
int max=a[0].sum;
for(i=1;i<n;i++)
{
if(max<a[i].sum)
{
max=a[i].sum; //筛选出最大值,找到下标。
}
}
for(i=0;i<n;i++)
{
if(max==a[i].sum)
{
printf("%s %s %d %d %d\n",a[i].num,a[i].name,a[i].score[0],a[i].score[1],a[i].score[2]); //输出成绩最高的学生学号,姓名,三科成绩
}
}
}
0.0分
0 人评分