P8722 [蓝桥杯 2020 省 AB3] 日期识别 题解

· · 题解

由题目可知,月份缩写都是三个字符。

把对应的月数找到,剩余后两位转成数字就是哪一天。

找到对应的月数的方法:用数组把每一个月的英文缩写打表下来,直到前三位和这个字符串匹配,那么就是这个月。

代码如下:

#include<bits/stdc++.h>
using namespace std;
string a[12]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
int main()
{
    int m=0,d=0;
    string st,month="";
    cin>>st;
    month=st.substr(0,3);
    for(int i=0;i<12;i++){
        if(month==a[i]){
            m=i+1;
            break;
        }
    }
    d=int(st[3]-48)*10+int(st[4]-48);
    cout<<m<<' '<<d;
}