OJ1180: 成績統計(結構體專題)(C語言)
阿新 • • 發佈:2020-12-31
題目描述
從鍵盤輸入若干個學生的資訊,每個學生資訊包括學號、姓名、3門課的成績,計算每個學生的總分,輸出總分最高的學生的資訊。
輸入
首先輸入一個整數n(1<=n<=100),表示學生人數,然後輸入n行,每行包含一個學生的資訊:學號(12位)、姓名(不含空格且不超過20位),以及三個整數,表示語文、數學、英語三門課成績,資料之間用空格隔開。
輸出
輸出總成績最高的學生的學號、姓名、及三門課成績,用空格隔開。若有多個最高分,只輸出第一個。
樣例輸入 Copy
541207010188 Zhangling 89 78 95
541207010189 Wangli 85 87 99541207010190 Fangfang 85 68 76
樣例輸出 Copy
541207010189 Wangli 85 87 99
#include<stdio.h>
struct grade
{
int x;
int y;
int z;
} add;
typedef struct student
{
char a[22];
char b[30];
struct grade add;
} point;
int main()
{
int n;
scanf("%d",&n);
point stu[100];
int i,a[100],temp= 0;
for(i=0;i<n;i++)
{
scanf("%s",stu[i].a);
scanf("%s",stu[i].b);
scanf("%d",&stu[i].add.x);
scanf("%d",&stu[i].add.y);
scanf("%d",&stu[i].add.z);
a[i]=stu[i].add.x+stu[i].add.y +stu[i].add.z;
}
for(i=1;i<n;i++)
{
if (a[temp]<a[i])
{
temp=i;
}
}
printf("%s %s %d %d %d",stu[temp].a,stu[temp].b,stu[temp].add.x,stu[temp].add.y,stu[temp].add.z);
return 0;
}
PS: 如果有幫到你,希望留個贊,謝謝!