牛客网PAT乙 福尔摩斯的约会

题目描述

大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很

 快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是

 第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、

 以及大写字母A到N表示);后面两字符串第1对相同的英文字母's'出现在第4个位置(从0开始计数)上,代表第4分钟。现给定两对字符串,

 请帮助福尔摩斯解码得到约会的时间。

输入描述:

输入在4行中分别给出4个非空、不包含空格、且长度不超过60的字符串。


 

输出描述:

在一行中输出约会的时间,格式为“DAY HH:MM”,其中“DAY”是某星期的3字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期
四,FRI表示星期五,SAT表示星期六,SUN表示星期日。题目输入保证每个测试存在唯一解。

输入例子:

3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm

输出例子:

THU 14:04
#include<iostream>
#include<string.h>
using namespace std;
int compare(char *str1,char* str2,char *same,int flag,int len1,int len2);
int select(char *same);
int main()
{char str1[60],str2[60],str3[60],str4[60],same;
int flag=0,len1,len2,len3,len4;
	scanf("%s",str1);
	scanf("%s",str2);
	scanf("%s",str3);
	scanf("%s",str4);
	len1=strlen(str1);
	len2=strlen(str2);
	len3=strlen(str3);
	len4=strlen(str4);
	compare(str1,str2,&same,0,len1,len2);//[0][0]  [0][1]  存大写 
	compare(str3,str4,&same,1,len3,len4);//[1][0]  [1][1]  存小写 
	return 0;
}
int compare(char *str1,char* str2,char *same,int flag,int len1,int len2)
{
int i=0,counter=0;
if(flag==0)
while(*str1!='\0'&&*str2!='\0')
{ if(*str1==*str2&&*str1>='A'&&*str1<='Z')
	{  if(i==0) //未相同 
	  {*same=*str1;
	switch(*same)
	{ case 'A':{cout<<"MON ";break;}
	  case 'B':{cout<<"TUE ";break;}  
	  case 'C':{cout<<"WED ";break;}
 	  case 'D':{cout<<"THU ";break;}
 	  case 'E':{cout<<"FRI ";break;}
 	  case 'F':{cout<<"SAT ";break;}
 	  default :{cout<<"SUN ";break;}
	}
	  }

	  
	  i++; 
	}
		str1++;str2++;
	counter++;	
	if(*str1==*str2&&i==1)
		{switch(*str1)
{case '0':{cout<<"00:";break;}
 case '1':{cout<<"01:";break;}  
 case '2':{cout<<"02:";break;}
 case '3':{cout<<"03:";break;}
 case '4':{cout<<"04:";break;}
 case '5':{cout<<"05:";break;}
 case '6':{cout<<"06:";break;}
 case '7':{cout<<"07:";break;}
 case '8':{cout<<"08:";break;}
 case '9':{cout<<"09:";break;}
 case 'A':{cout<<"10:";break;}
 case 'B':{cout<<"11:";break;}
 case 'C':{cout<<"12:";break;}
 case 'D':{cout<<"13:";break;}
 case 'E':{cout<<"14:";break;}
 case 'F':{cout<<"15:";break;}
 case 'G':{cout<<"16:";break;}
 case 'H':{cout<<"17:";break;}
 case 'I':{cout<<"18:";break;}
 case 'J':{cout<<"19:";break;} 
 case 'K':{cout<<"20:";break;}
 case 'L':{cout<<"21:";break;}
 case 'M':{cout<<"22:";break;}
 default :{cout<<"23:";break;}
	}
	i++;
		}

	} 
 else if(flag==1)
 {  int counter2=0,i2=0;
 while(*str1!='\0'&&*str2!='\0')
{ if(*str1==*str2&&*str1>='a'&&*str1<='z'&&i2==0)
{switch(counter2/10)
{case 0:{cout<<"0";break;}
 case 1:{cout<<"1";break;}  
 case 2:{cout<<"2";break;}
 case 3:{cout<<"3";break;}
 case 4:{cout<<"4";break;}
 case 5:{cout<<"5";break;}
 case 6:{cout<<"6";break;}
 case 7:{cout<<"7";break;}
 case 8:{cout<<"8";break;}
 default :{cout<<"9 ";break;}
	}
switch(counter2%10)
{case 0:{cout<<"0";break;}
 case 1:{cout<<"1";break;}  
 case 2:{cout<<"2";break;}
 case 3:{cout<<"3";break;}
 case 4:{cout<<"4";break;}
 case 5:{cout<<"5";break;}
 case 6:{cout<<"6";break;}
 case 7:{cout<<"7";break;}
 case 8:{cout<<"8";break;}
 default :{cout<<"9 ";break;}
	}
	i2++;
}
 
	str1++;str2++;
	counter2++;
	}
 }		
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_26004051/article/details/86678194
今日推荐