编程题B-选拔飞行员

编程题B-选拔飞行员

时间: 1ms        内存:128M

描述:

2100年空军选拔高中生飞行学员基本条件要求如下,年龄范围:16-19周岁;身高:男性在170-185厘米之间,女性在160-175厘米之间。
现采集到本班10名同学的基本信息,问符合要求的同学人数。

输入:

10名同学的基本信息,学号(3位数字),姓名(不含空格),性别(Female 或者 Male),年龄,身高。

输出:

符合要求的同学人数。

示例输入:

101 zhangsan Female 19 178
103 lisi Male 17 179
105 wangwu Male 20 180
109 zhaofang Female 17 165
120 juxin Female 18 165
125 xiaoping Male 19 172
128 heichao Female 20 170
135 xiaoyong Male 19 180
140 xiaohui Female 19 168
146 jintao Male 18 178

示例输出:

7

提示:

参考答案(内存最优[1092]):

#include<stdio.h>
int main()
{
    char a[20][10][60],b[20][10];
    int i,t,age[99],high[99];
    int x=0;
    for(i=1;i<=10;i++)
    {
        for(t=1;t<=2;t++)
            scanf("%s",&a[i][t]);
        scanf("%s",&b[i]);
        scanf("%d",&age[i]);
        scanf("%d",&high[i]);
    }
    for(i=1;i<=10;i++)
    {
        if(b[i][0]=='M'&&high[i]>=170&&high[i]<=180&&age[i]>=16&&age[i]<=19)
            x++;
        else if(b[i][0]=='F'&&high[i]>=160&&high[i]<=175&&age[i]>=16&&age[i]<=19)
        x++;
    }

    printf("%d",x);
    return 0;
}

参考答案(时间最优[0]):

#include <iostream>
#include <cstring>
using namespace std;
struct Student
{
    int no;
    char name[20];
    char sex[7];
    int age;
    int height;
};
int main()
{
    int i,num=0;
    struct Student stu;
    for(i=0; i<10; i++)
    {
        cin>>stu.no;
        cin>>stu.name;
        cin>>stu.sex;
        cin>>stu.age;
        cin>>stu.height;
        if(stu.age>=16&&stu.age<=19)
        {
            if(strcmp(stu.sex,"Female")==0)
            {
                if(stu.height>=160&&stu.height<=175)
                    num++;
            }
            else if(strcmp(stu.sex,"Male")==0)
            {
                if(stu.height>=170&&stu.height<=185)
                    num++;
            }
        }
    }
    cout<<num<<endl;
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注