这道题,注意几个点:
1.第一个相同的字符,一定要大写,而且一定要是在A到G之间。【因为你第一个相同的表示星期几,又没有星期八对吧】
2.第二个相同的字符,要在大写的A到N和0到9之间,这个题目写了,那不多说。
3.第三个相同的字符,一定是英文字母,大小写都可以。
4.输出的时候,按照格式来,9点也要写成09点。
#include<stdio.h>
#include<string.h>
main(){
char input[5][61];
int i,z,temp1,temp3,temp4,temp5=0;
char temp2;
int max1,max2;
char day[10][5]={"MON","TUE","WED","THU","FRI","SAT","SUN"};//以0起步啊
temp1=0;temp2=0; temp3=0; temp4=0;
for(i=1;i<=4;i++){
scanf("%s",&input[i]);
}
if(strcmp(input[1],input[2])){
max1=strlen(input[1]);
}else{
max1=strlen(input[2]);
}
if(strcmp(input[3],input[4])){
max2=strlen(input[3]);
}else{
max2=strlen(input[4]);
}
for(i=0;i<max1;i++){
if((input[1][i]==input[2][i]) && (input[1][i]>='A' && input[1][i]<='G') && temp4==0){
temp1=input[1][i]-'A'+1;
temp4=1;
continue;
}
if(temp4){
if(input[1][i]==input[2][i] && ((input[1][i]>='A' && input[1][i]<='N') || (input[1][i]>='0' && input[1][i]<='9'))){
temp2=input[1][i];
break;
}
}
}
for(i=0;i<max2;i++){
if(input[3][i]==input[4][i] && ((input[3][i]>='a' && input[3][i]<='z')||(input[3][i]>='A' && input[3][i]<='Z'))){
temp3=i;
break;
}
}
if(temp2>='0' && temp2<='9'){
temp2=temp2-'0';
}else{
temp2=10+temp2-'A';
}
printf("%s %02d:%02d",day[temp1-1],temp2,temp3);
return 0;
}