松直君


私信TA

用户名:songzhijun

访问量:3574

签 名:

新一代的软件工程师们,加油吧,让我们用代码改变世界

等  级
排  名 4796
经  验 1571
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 天津大学仁爱学院
专  业 软件工程

  自我简介:

代码热爱者

TA的其他文章

题目描述

有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

输入

学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。

输出

各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)

样例输入

2
1 blue 90 80 70
b clan 80 70 60

样例输出

85 75 65
1 blue 90 80 70

代码:

#include<stdio.h>

typedef struct stu

{

char id[10];

char name[10];

int point[3];

int aver;

}stu;

void input(struct stu *a,int n)

{

int i;

for(i=0;i<n;i++)

{

scanf("%s %s %d %d %d",&a[i].id,&a[i].name,&a[i].point[0],&a[i].point[1],&a[i].point[2]);

a[i].aver=(a[i].point[0]+a[i].point[1]+a[i].point[2])/3;

}

}

void out(struct stu *a,int n)

{

stu b;

int i,j;

int add1=0,add2=0,add3=0;

for(i=0;i<n;i++)

{

add1+=a[i].point[0];

add2+=a[i].point[1];

add3+=a[i].point[2];

}

printf("%d %d %d\n",add1/n,add2/n,add3/n);

for(i=0;i<n-1;i++)

{

for(j=i+1;j<n;j++)

{

if(a[j].aver>a[i].aver)

{

b=a[i];

a[i]=a[j];

a[j]=b;

}

}

}

printf("%s %s %d %d %d",a[0].id,a[0].name,a[0].point[0],a[0].point[1],a[0].point[2]);

}

int main()

{

int n;

scanf("%d",&n);

stu a[n];

input(a,n);

out(a,n);

return 0;

}


 

0.0分

1 人评分

  评论区