C军事体能成绩统计(升级版)

某校的体能考试中,男女生共同的体能项目为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;
}

 

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值