日期问题题解大合集
算法1
我们按题目先把对应的日期的缩写给打表写下来:
string month[13]={"","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
我们知道,下标是0,所以我们前面要搞一个空串
我们再看我们输入的前三位(st.substr(0,3)
)是否和month[i]
一样,如果一样,那么我们就取这个下标i
:
for(int i=1;i<=13;i++)
if(st.substr(0,3)==month[i]){
m=i;
break;
}
接着我们看后两位,
我们其实就是把字符转数字:字符-‘0’或者字符-48
d1=st[3]-'0';
d2=st[4]-'0';
cout<<m<<' ';
if(d1!=0)cout<<d1;
cout<<d2;
参考文献
C++ 代码
#include<bits/stdc++.h>
using namespace std;
string month[13]={"","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
int main()
{
string st;
int m,d1,d2;
cin>>st;
for(int i=1;i<=12;i++)
if(st.substr(0,3)==month[i]){
m=i;
break;
}
d1=st[3]-'0';
d2=st[4]-'0';
cout<<m<<' ';
if(d1!=0)cout<<d1;
cout<<d2;
}
666