1014题目链接
总结:在写逻辑的时候,思路要清晰,最好画一个流程图,判断条件流程
#include <iostream>
#include <stdio.h>
using namespace std;bool IsABC(char x)
{
if((('A'<=x) && (x<='Z')) || (('a'<=x)&&(x<='z'))){
return true;}return false;
}
bool isdi(char c)
{
if((c-'0')<10&&(c-'0'>=0)){
return true;}return false;
}int main()
{
int i = 0;int j;string str[4];string day[7] = {
"MON","TUE","WED","THU","FRI","SAT","SUN"};//saturdaywhile(cin >> str[i]){
i++;if(i == 4){
break;}}for(j=0;j<str[0].length()&&j<str[1].length();j++)//第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;{
if( (str[0][j] == str[1][j]) && str[0][j]>='A' &&str[0][j]<='G' ) //因为A~G表示周一到周日{
cout<<day[str[0][j]-65];break;}//j =3}for(int k=j+1;(k<str[0].length())&&(k<str[1].length());k++)//第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头//(于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母 A 到 N 表示);{
if((str[0][k] == str[1][k])){
if(isdi(str[0][k])){
printf(" %02d:",str[0][k]-'0');break;}else if(str[0][k]<='N'&&str[0][k]>='A')//10 11 12 13 14 15 16 17 18 19 20 21 22 23{
printf(" %02d:",str[0][k]-55);break;}}}for( i=0;i<str[2].length()&&i<str[3].length();i++){
if(str[2][i] == str[3][i] && IsABC(str[2][i])){
printf("%02d",i);break;}}return 0;
}