题目描述
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求找出总分最高的学生,输出其姓名和总分。
结构体类型及结构体数组的定义可参考如下定义。题目没有明确说明的,均没有严格限制。
struct students
{
int number;
char name[20];
int score[4];
int sum;
};
struct students student[10];
输入
先输入学生数量N(3<=n<=10)
然后每行输入一个学生的数据,包括学号、姓名、三科成绩,空格分开。
输出
输出总分最高学生的姓名和总分。
样例输入 Copy
4 1101 clan 80 70 60 1102 blue 90 80 70 1103 xds 100 99 98 1104 bred 80 80 80
样例输出 Copy
xds 297
#include <stdio.h>
struct student{
int number;
char name[20];
int score1,score2,score3;
int sum;
};
int main(void){
int n,i;
struct student stu[10];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %s %d %d %d",&stu[i].number,stu[i].name,&stu[i].score1,&stu[i].score2,&stu[i].score3);
stu[i].sum=stu[i].score3+stu[i].score1+stu[i].score2;
}
int max=0;
for(i=0;i<n;i++){
if(stu[i].sum>stu[max].sum){
max=i;
}
}
printf("%s %d",stu[max].name,stu[max].sum);
return 0;
}