结构体做,时间复杂度低

#25. 集训体检
ID: 25
传统题
1000ms
256MiB
上传者:

root
题目描述
现在有n(1<=n<=1000)个同学报名参加集训,不过出发之前要对每一位同学进行健康检测:
打了新冠疫苗并且体温小于37度的同学,可以直接参加;
打了新冠疫苗或者体温小于37度的同学,观察一周;
既没有打疫苗体温又大于等于37度的同学,不允许参加。

输入格式
输入n代表报名的同学 输入n行,每行包含名字,是否打疫苗,体温

输出格式
按输入顺序输出每位同学的名字及健康检测的结果(参加:pass,待定:confirmed,不能参加:bye)

样例
样例输入
4
nana N 37.2
lili Y 36.3
lilei N 38
joe Y 37.2
样例输出
nana bye
lili pass
lilei bye
joe confirmed

你题目的解答代码如下:

#include <stdio.h>
typedef struct data
{
    char name[10];
    char fn;
    double num;
} Data;

void main()
{
    int i,n;
    scanf("%d", &n);
    Data a[n];
    for (i = 0; i < n; i++)
        scanf("%s %c %lf", a[i].name, &a[i].fn, &a[i].num);
    for (i = 0; i < n; i++)
    {
        if (a[i].fn=='Y' && a[i].num<37)
            printf("%s pass\n", a[i].name);
        else if (a[i].fn=='Y' || a[i].num<37)
            printf("%s confirmed\n", a[i].name);
        else
            printf("%s bye\n", a[i].name);

    }
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img