解题思路:
1.我的代码写的比较繁琐,唯一可取的就是思路清晰
2.第一步:先找出第一对相同的大写英文字母(范围可以小一点
,因为是七天,所以范围A-G就行了),记录此时的位置
3.在此位置上找出第二对相同的字符,范围是0-9,A-N。如果
是0-9的话,可以直接输出ch[0][i]-'0'。如果是A-N的话,就
输出ch[0][i]-'A'+10
4.在后两个字符串找出第一对相同的字母,可以是大写,也可以
是小写,找到了,直接输出位置就行了
#include <stdio.h>
int main()
{
char ch[4][100],str1[7]={'A','B','C','D','E','F','G'},s;
char str2[7][7]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
int p=0,i,j;
for(i=0;i<4;i++)
gets(ch[i]);
for(i=0;ch[0][i]!='\0';i++)
{
if(ch[0][i]>='A'&&ch[0][i]<='G')
{
if(ch[0][i]==ch[1][i])
{
s=ch[0][i];
break;
}
}
}
j=i;
for(i=0;i<7;i++)
{
if(s==str1[i])
{
p=i;
break;
}
}
printf("%s ",str2[p]);
for(i=j+1;ch[0][i]!='\0';i++)
{
if(ch[0][i]>='0'&&ch[0][i]<='9')
{
if(ch[0][i]==ch[1][i])
{
printf("%02d:",ch[0][i]-'0');
break;
}
}
if(ch[0][i]>='A'&&ch[0][i]<='N')
{
if(ch[0][i]==ch[1][i])
{
printf("%02d:",ch[0][i]-'A'+10);
break;
}
}
}
for(i=0;ch[2][i]!='\0';i++)
{
if((ch[2][i]>='a'&&ch[2][i]<='z')||(ch[2][i]>='A'&&ch[2][i]<='Z'))
{
if(ch[2][i]==ch[3][i])
{
printf("%02d",i);
break;
}
}
}
return 0;
}
