题目链接
这道题就是乙级1014的英文版,还是做了一遍做的更简便了一些,慢慢提升自己;
#pragma warning(disable:4996);
#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<string>
#include<stack>
#include<math.h>
#include<vector>
using namespace std;
char hour[24] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N' };
char day[8][5] = { "","MON","TUE","WED","THU","FRI","SAT","SUN" };
int main() {
string s1, s2, s3, s4;
getline(cin, s1);
getline(cin, s2);
getline(cin, s3);
getline(cin, s4);
int i = 0;
for (i;i < min(s1.size(), s2.size());i++)
{
if (s1[i] <= 'G' && s1[i] >= 'A' && s2[i] <= 'G' && s2[i] >= 'A')
{
if (s1[i] == s2[i]) {
cout << day[s1[i] - 'A' + 1] << " ";
break;
}
}
else continue;
}
i++;//跳过指示日期的元素;
for (i;i < min(s1.size(), s2.size());i++)
{
if ((s1[i]<='N'&&s1[i]>='A'||s1[i]<='9'&&s1[i]>='0')&&s1[i] == s2[i])
{
for (int j = 0;j < 24;j++)
{
if (s1[i] == hour[j])
{
printf("%02d:",j);
//cout << s1[i];
}
}break;//只考虑第一个相等的字母,不考虑后面的否则有可能多输出;
}
else continue;
}
for (int j=0;j < min(s3.size(), s4.size());j++)
{
if ((s3[j]<='z'&&s3[j]>='a' || 'A' <= s3[j] && s3[j] <= 'Z')&&s3[j] == s4[j]) {
printf("%02d", j);
break;
}
}
return 0;
}