1014 福尔摩斯的约会 (20 分)

在这里插入图片描述
输入样例:
3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm

输出样例:
THU 14:04

思路:要注意范围和逻辑,循环判断时要小心

#include <iostream>
#include <string>
using namespace std;
void week(char a){ //日子转换函数
    if(a=='A')
        cout<<"MON";
    else if(a=='B')
        cout<<"TUE";
    else if(a=='C')
        cout<<"WED";
    else if(a=='D')
        cout<<"THU";
    else if(a=='E')
        cout<<"FRI";
    else if(a=='F')
        cout<<"SAT";
    else if(a=='G')
        cout<<"SUN";
}
int hour(char a){ //小时转换函数
    if(a=='A')
        return 10;
    else if(a=='B')
        return 11;
    else if(a=='C')
        return 12;
    else if(a=='D')
        return 13;
    else if(a=='E')
        return 14;
    else if(a=='F')
        return 15;
    else if(a=='G')
        return 16;
    else if(a=='H')
        return 17;
    else if(a=='I')
        return 18;
    else if(a=='J')
        return 19;
    else if(a=='K')
        return 20;
    else if(a=='L')
        return 21;
    else if(a=='M')
        return 22;
    else if(a=='N')
        return 23;
}
int main()
{
    string a,b,c,d;
    cin>>a>>b>>c>>d;
    char a1,b1='0';
    int minlength1=(a.length()>b.length())?b.length():a.length();
    bool flag=false;
    for(int i=0;i<minlength1;i++){
        if(!flag){
             if(a[i]>='A'&&a[i]<='G'){
                if(a[i]==b[i]){
                    a1=a[i];
                    i++;
                    flag=true;
                }
             }
        }
        if(flag){
            if(a[i]==b[i]){
                if(a[i]>='A'&&a[i]<='N'){
                    b1=a[i];
                    break;
                }else if(a[i]>='0'&&a[i]<='9'){
                    b1=a[i];
                    break;
                }
            }  
        }
    }
    int minlength2=(c.length()>d.length())?d.length():c.length();
    int minute=0;
    for(int i=0;i<minlength2;i++){
        if((c[i]>='a'&&c[i]<='z')||(c[i]>='A'&&c[i]<='Z')){
            if(c[i]==d[i]){
                minute=i;
                break;
            }
        }
    }
    week(a1);
    cout<<' ';
    if(b1>='0'&&b1<='9')
        cout<<'0'<<b1<<':';
    else
        cout<<hour(b1)<<':';
    if(minute<10)
        cout<<'0'<<minute;
    else
        cout<<minute;
    
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值