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;
}