某校的体能考试中,男女生共同的体能项目为800米,立定跳远。还有一项男生为俯卧撑,女生为仰卧起坐。当输入n名学生(不超过20名)的成绩时,输入信息包括姓名、学号、性别、800米成绩、立定跳远成绩和俯卧撑/仰卧起坐的成绩,(假定输入成绩都是正确的)。如果为男生,最后一项成绩为俯卧撑,如果为女生则为仰卧起坐成绩。请输出所有各科目(800米、立定跳远、俯卧撑、仰卧起坐)的平均成绩(整数)及需补考(单个科目成绩低于60分)学生的姓名、学号和性别。
输入格式:
第一行为学生数n
第二行开始为n个学生的姓名、学号、性别、成绩1、 成绩2 、成绩3
输出格式:
第一行为每个科目的平均成绩,以逗号分隔
第二行开始为需补考人员的姓名、学号和性别,以逗号分隔,每个学生信息占一行
姓名,学号,性别
…
输入样例:
6
Lili 2001 M 80 50 90
Jim 2002 F 70 70 90
Tom 2003 F 90 80 90
May 2004 F 80 50 60
Jary 2005 M 30 50 90
Xiao 2006 M 60 80 100
输出样例:
68,63,93,80
Lili,2001,M
May,2004,F
Jary,2005,M
#include<stdio.h>
struct Student
{
char name[10];int number;char sex;int score[3];
};
int main()
{
int n,t1=0,t2=0,t3=0,t4=0,a1,a2,a3,a4;
scanf("%d",&n);
struct Student student[n];
for(int i=0;i<n;i++)
{
scanf("%s",student[i].name);
scanf("%d %c",&student[i].number,&student[i].sex);
for(int j=0;j<3;j++)
scanf("%d",&student[i].score[j]);
}
for(int i=0;i<n;i++)
{
t1+=student[i].score[0];
t2+=student[i].score[1];
if(student[i].sex=='M')
t3+=student[i].score[2];
if(student[i].sex=='F')
t4+=student[i].score[2];
}
int u=0;
for(int i=0;i<n;i++)
if(student[i].sex=='M')
u++;
a1=t1/n;a2=t2/n;a3=t3/u;a4=t4/(n-u);
printf("%d,%d,%d,%d\n",a1,a2,a3,a4);
int m;
for(m=0;m<n;m++)
{
if(student[m].score[0]<60||student[m].score[1]<60||student[m].score[2]<60)
{
printf("%s,%d,%c\n",student[m].name,student[m].number,student[m].sex);
}
}
return 0;
}