2876.日期识别
string s=str.substr(a,b); //表示截取字符串str从下标a开始的,长度为b的字符串赋值给s
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
string months[13]={ //将月份字母的字符串与月份建立映射关系
"",
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"};
int main()
{
string str;
cin>>str;
string s=str.substr(0,3); //获取字符串的前3位英文字母
string t=str.substr(3,2); //获取字符串的后2位数字月份
int ans=0;
for (int i=1;i<13;i++)
{
if (s==months[i]) {
ans=i;
break;
}
}
if (t[0]=='0') //如果月份有前导零,输出t的第二个字符,略过前导零
cout<<ans<<" "<<t[1]<<endl;
else //不含前导零,直接输出字符串t即可
cout<<ans<<" "<<t<<endl;
return 0;
}