PAT练习参考答案_福尔摩斯的约会 (20)

题目描述
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’E’,那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、以及大写字母A到N表示);后面两字符串第1对相同的英文字母’s’出现在第4个位置(从0开始计数)上,代表第4分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。

输入描述:
输入在4行中分别给出4个非空、不包含空格、且长度不超过60的字符串。

输出描述:
在一行中输出约会的时间,格式为“DAY HH:MM”,其中“DAY”是某星期的3字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期
四,FRI表示星期五,SAT表示星期六,SUN表示星期日。题目输入保证每个测试存在唯一解。

输入例子:
3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm

输出例子:
THU 14:04

#include<iostream>
#include<cstring>
using namespace std;

void week_hour(string str1,string str2)
{
    string WEEK[7]={"MON ","TUE ","WED ","THU ","FRI ","SAT ","SUN "};
    int length1,length2,i,i_old;
    char week_hour;
    bool f_daxie=0;
    length1 = str1.length();
    length2 = str2.length();
    for(i=0;i<length1&&i<length2;i++)
    {
            if((str1[i]>='a' && str1[i]<='z')&&(str2[i]>='a' && str2[i]<='z'))
            {
                if(str1[i]==str2[i])
                {
                    week_hour=str1[i];
                    f_daxie=0;
                    i_old=i;
                    break;
                }
            }
            else if((str1[i]>='A' && str1[i]<='Z')&&(str2[i]>='A' && str2[i]<='Z'))
            {
                if(str1[i]==str2[i])
                {
                     week_hour=str1[i];
                     f_daxie=1;
                     i_old=i;
                     break;
                }
            }
    }
    
    if(f_daxie)
    {
        cout<<WEEK[week_hour-'A'];
    }
    else
    {
         cout<<WEEK[week_hour-'a'];
    }
    
    for(i=i_old+1;i<length1&&i<length2;i++)
    {
            
            if((str1[i]>='0' && str1[i]<='9')&&(str2[i]>='0' && str2[i]<='9'))
            {
                if(str1[i]==str2[i])
                {
                    week_hour=str1[i];
                    break;
                }
            }
            else if((str1[i]>='a' && str1[i]<='z')&&(str2[i]>='a' && str2[i]<='z'))
            {
                if(str1[i]==str2[i])
                {
                    week_hour=str1[i];
                    break;
                }
            }
            else if((str1[i]>='A' && str1[i]<='Z')&&(str2[i]>='A' && str2[i]<='Z'))
            {
                  if(str1[i]==str2[i])
                  {
                        week_hour=str1[i];
                        break;
                  }
            }
    }
   
    if(week_hour>='0'&&week_hour<='9')
    {
        cout<<"0"<<week_hour-'0'<<":";
    }
    else
    {
        if(week_hour>='a'&&week_hour<='z')
        {
             week_hour=week_hour-'a'+10;
             cout<<week_hour<<":";
        }
           
        else
            if(week_hour>='A'&&week_hour<='Z')
                cout<<week_hour-'A'+10<<":";
    }
}
void min(string str1,string str2)
{
    int length1,length2,i;
    int min;
    bool f_daxie=0;
    length1 = str1.length();
    length2 = str2.length();
    for(i=0;i<length1&&i<length2;i++)
    {
           if((str1[i]>='a' && str1[i]<='z')&&(str2[i]>='a' && str2[i]<='z'))
            {
                if(str1[i]==str2[i])
                {
                    min=i;
                    break;
                }
            }
            else if((str1[i]>='A' && str1[i]<='Z')&&(str2[i]>='A' && str2[i]<='Z'))
            {
                if(str1[i]==str2[i])
                {
                     min=i;
                     break;
                }
            }
    }

        if(min>=0 && min<=9)
            cout<<"0"<<min;
        else cout<<min;
}
int main()
{
    string week_hour1,week_hour2,min1,min2;
    cin>>week_hour1>>week_hour2>>min1>>min2;
    week_hour(week_hour1,week_hour2);
    min(min1,min2);
    return 0;
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MOOC PAT练习是指在在线课程平台上进行的编程能力考试。它提供了一系列编程题目,旨在帮助学生提高解决问题的能力和编程技能。下面是对此练习的回答: MOOC PAT练习是一非常有益的学习资源。它可以帮助学生在虚拟的环境中解决实际问题,并通过编程来提高解决问题的能力。通过这方式,学生可以更好地理解和掌握编程语言和算法知识。 MOOC PAT练习不仅可以提升学生的编程能力,还可以培养学生的创新思维和团队合作精神。在解决编程题目时,学生需要思考合适的算法和数据结构,同时还需要灵活运用编程语言来实现自己的想法。这样的练习可以锻炼学生的分析问题和解决问题的能力,培养其创新和合作意识。 通过MOOC PAT练习,学生可以接触到各各样的编程题目,涵盖了不同的难度级别和主题领域。这对于学生来说是一个很好的学习机会,可以不断地挑战自己、提高自己。此外,该练习还提供了评测功能,学生可以实时了解自己的答题情况,并获得相应的反馈和建议,这有助于他们更好地调整学习进度和方向。 总结来说,MOOC PAT练习是一个非常有价值的学习资源,它可以提升学生的编程能力、培养创新和合作意识,并且通过不断挑战和实践来提高自己。对于想要学习编程的人来说,参加MOOC PAT练习是一个不错的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值