思路:
1.利用字符数组存取字符串,先扫描前两个字符串,找第一对相同位置的A-G的大些字母,然后求出与‘A’的距离,然后再在此基础上继续往后寻找,寻找第一对相同位置0-9或者‘A’–‘N’的字符,转换到0-9或者10-23,同理,在扫描后两个字符串,找的第一对相同位置A-Z或者a-z,并且获取其位置
C代码:
#include<stdio.h>
#include<string.h>
int main(){
char week[7][5]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
char str1[70],str2[70],str3[70],str4[70];
gets(str1);
gets(str2);
gets(str3);
gets(str4);
int len1=strlen(str1);
int len2=strlen(str2);
int len3=strlen(str3);
int len4=strlen(str4);
int i;
for(i=0;i<len1&&i<len2;i++){
if(str1[i]==str2[i]&&str1[i]>='A'&&str1[i]<='G'){
printf("%s ",week[str1[i]-'A']);
break;
}
}
for(i=i+1;i<len1&&i<len2;i++){
if(str1[i]==str2[i]){
if(str1[i]>='0'&&str1[i]<='9'){
printf("%02d:",str1[i]-'0');
break;
}
else if(str1[i]>='A'&&str1[i]<='N'){
printf("%02d:",str1[i]-'A'+10);
break;
}
}
}
for(int i=0;i<len3&&i<len4;i++){
if(str3[i]==str4[i]){
if((str3[i]>='A'&&str3[i]<='Z')||(str3[i]>='a'&&str3[i]<='z')){
printf("%02d",i);
break;
}
}
}
return 0;
}