输入样例:
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;
}