来地球玩 2021-12-22 18:20 采纳率: 90%
浏览 31
已结题

C++这个程序怎么写

每天开始时,在机房里签到的第一个人会开门,最后一个签出的人会锁门。鉴于登录和注销的记录,您应该找到当天解锁并锁定门的人。

输入

每个输入文件包含一个测试用例。每个事例都包含一天的记录。该事例以正整数 M 开头,这是记录的总数,后跟 M 行,每行的格式为:

ID_number Sign_in_time Sign_out_time
其中时间以 HH:MM:SS 格式给出,ID 号是不超过 15 个字符的字符串。

输出

对于每个测试用例,在一行中输出当天解锁并锁定门的人员的 ID 号。两个 ID 号必须用一个空格分隔。

注意:可以保证记录是一致的。也就是说,签到时间必须早于每个人的签出时间,并且没有两个人同时登录或注销。

样例输入

3
CS301111 15:30:28 17:00:10
SC3021234 08:00:00 11:25:25
CS301133 21:45:00 21:58:40

样例输出

SC3021234 CS301133

题目来源

  • 写回答

2条回答 默认 最新

  • 书山客 2021-12-22 21:08
    关注
    
    
    #include<stdio.h>
    #include<string.h>
    #include <math.h>
    int main()
    {
        int M = 0;
        scanf("%d",&M);
        char str[100][3][15];
        for (int i = 0; i < M; i++)
        {
            scanf("%s%s%s",&str[i][0], &str[i][1], &str[i][2]);
        }
        char Sign_in_time[15];
        char Sign_out_time[15];
        strcpy(Sign_in_time,str[0][1]);
        strcpy(Sign_out_time, str[0][2]);
        int num_in = 0;
        int num_out = 0;
        for (int i = 0; i < M; i++)
        {
            if (strcmp(Sign_in_time,str[i][1])>0)
            {
                strcpy(Sign_in_time, str[i][1]);
                num_in = i;
            }
            if (strcmp(Sign_out_time, str[i][2]) < 0)
            {
                strcpy(Sign_out_time, str[i][2]);
                num_out = i;
            }
        }
        printf("%s %s", str[num_in][0], str[num_out][0]);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 创建了问题 12月22日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测