Problem E: 高于均分的學生
Time Limit: 1 Sec??Memory Limit: 128 MBSubmit: 67??Solved: 45
Description
輸入n(<=100)個學生的姓名、學號和成績,將其中高于平均成績的姓名、學號和成績輸出。
Input
第一行為學生人數 n
第二行到第n+1行,每行一個學生的姓名、學號和成績。
學號和成績都是整數。
Output
高于平均成績的姓名、學號和成績
一名學生占一行
一行中各項間有一個空格
Sample Input
3
zhang 1001 100
li 1002 59
sun 1003 0
Sample Output
zhang 1001 100
li 1002 59
HINT#include <stdio.h>
#include <stdlib.h>
struct student
{ char name[10]; int num,scu;
};
int main()
{ struct student str[100]; int n,sum=0,m; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%s%d%d",&str[i].name,&str[i].num,&str[i].scu); for(int i=0;i<n;i++) { sum=sum+str[i].scu; } m=sum/n; for(int i=0;i<n;i++) { if(str[i].scu>m) printf("%s %d %d\n",str[i].name,str[i].num,str[i].scu); } return 0;
}
#include <stdio.h>
#include <stdlib.h>
struct student
{ char name[10]; int num,scu;
};
int main()
{ struct student str[100]; int n,sum=0,m; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%s%d%d",&str[i].name,&str[i].num,&str[i].scu); for(int i=0;i<n;i++) { sum=sum+str[i].scu; } m=sum/n; for(int i=0;i<n;i++) { if(str[i].scu>m) printf("%s %d %d\n",str[i].name,str[i].num,str[i].scu); } return 0;
}