求巨佬帮忙挑错

#include<stdio.h>#include<string.h>
void fz(char n[10000],int k);/*将字符串逆序*/
int main()
{
int k,i,m,p,q;
scanf("%d",&k);
char ch1[10000],ch2[10000],ch3[10000],temp1[10000],temp2[10000];
scanf("%s",&ch1);
scanf("%s",&ch2);
scanf("%s",&ch3);
fz(ch1,k);
for(m=0;m<=6;m++)
{

for(i=0;i<=k-1;i++)
{
if(ch1[i]-m<'a')
{
temp1[i]='z';
}
else
{
temp1[i]=ch1[i]-m;
}
}

for(i=0;i<=k-1;i++)
{
if(ch1[i]+m>'z')
{
temp2[i]='a';
}
else
{
temp2[i]=ch1[i]+m;
}

}

if(strcmp(temp1,ch2)==0&&strcmp(temp2,ch3)==0)
{
printf("%s",ch1);
return 0;
}
if(strcmp(temp1,ch3)==0&&strcmp(temp2,ch2)==0)
{
printf("%s",ch1);
return 0;
}

}
fz(ch1,k);
fz(ch2,k);
for(m=0;m<=6;m++)
{

for(i=0;i<=k-1;i++)
{
if(ch2[i]-m<'a')
{
temp1[i]='z';
}
else
{
temp1[i]=ch2[i]-m;

}
}
for(i=0;i<=k-1;i++)
{
if(ch2[i]+m>'z')
{
temp2[i]='a';
}
else
{
temp2[i]=ch2[i]+m;
}

}
if(strcmp(temp1,ch1)==0&&strcmp(temp2,ch3)==0)
{
printf("%s",ch2);
return 0;
}
if(strcmp(temp1,ch3)==0&&strcmp(temp2,ch1)==0)
{
printf("%s",ch2);
return 0;
}

}
fz(ch2,k);
fz(ch3,k);
for(m=0;m<=6;m++)
{
for(i=0;i<=k-1;i++)
{
if(ch3[i]-m<'a')
temp1[i]='z';

else
{
temp1[i]=ch3[i]-m;

}
}
for(i=0;i<=k-1;i++)
{
if(ch3[i]+m>'z')
temp2[i]='a';
else
{
temp2[i]=ch3[i]+m;
}

}
if(strcmp(temp1,ch1)==0&&strcmp(temp2,ch2)==0)
{
printf("%s",ch3);
return 0;
}
if(strcmp(temp1,ch2)==0&&strcmp(temp2,ch1)==0)
{
printf("%s",ch3);
return 0;
}

}
return 0;
}void fz(char n[10000],int k){
char h[10000];
int j;
for(j=0;j<=k-1;j++)
{
h[j]=n[j];
}
for(j=0;j<=k-1;j++)
{
n[j]=h[k-j-1];
}
}

0 条评论

目前还没有评论...

信息

ID
1449
难度
6
分类
字符串 | 模拟 点击显示
标签
递交数
6889
已通过
1848
通过率
27%
被复制
9
上传者