水题,没神马好说的,注意审题和条件的寻找;
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char day[][4] = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};
int main()
{
char str1[61], str2[61], str3[61], str4[61];
scanf("%s%s%s%s", str1, str2, str3, str4);
int len1, len2, len3, len4;
len1 = strlen(str1); len2 = strlen(str2);
len3 = strlen(str3); len4 = strlen(str4);
int idx1=0, d=0, h=0, m=0;
// 寻找d
for(; idx1<len1&&idx1<len2; idx1++) {
if(str1[idx1]>='A' && str1[idx1]<='G') {
if(str1[idx1] == str2[idx1]) {
d = (str1[idx1]-'A')+1; break;
}
}
}
// 寻找h
for(idx1++; idx1<len1&&idx1<len2; idx1++) {
if((str1[idx1]>='0'&&str1[idx1]<='9')||(str1[idx1]>='A'&&str1[idx1]<='N')) {
if(str1[idx1] == str2[idx1]) {
if(str1[idx1]>='0'&&str1[idx1]<='9') {
h = (str1[idx1]-'0');
} else {
h = (str1[idx1]-'A') + 10;
}
break;
}
}
}
// 寻找m
for(int i=0; i<len3&&i<len4; i++) {
if((str3[i]>='a'&&str3[i]<='z')||(str3[i]>='A'&&str3[i]<='Z')) {
if(str3[i] == str4[i]) {
m = i; break;
}
}
}
printf("%s %02d:%02d", day[d-1], h, m);
return 0;
}