该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
int main()
{
char jmxx[105],yxx[105],fyxx[105]; //加密信息,原信息,翻译信息
memset(jmxx,0,sizeof(jmxx));
memset(yxx,0,sizeof(yxx));
memset(fyxx,0,sizeof(fyxx)); //初始化
gets(jmxx);gets(yxx); gets(fyxx);
int lena=strlen(jmxx),lenb=strlen(yxx),lenc=strlen(fyxx); //因加密信息的长度与原信息的长度相同,可少定义一个变量
char zm[26]={};
for(int i=0;i
if(zm[jmxx[i]-'A'] && zm[jmxx[i]-'A']!=yxx[i]) //错误情况:同一个字母对应了两个不同密字
{
printf("Failed");
return 0;
}
else
zm[jmxx[i]-'A']=yxx[i];
for(int i=0;i<26;i++) //错误情况:A~Z中有未出现的密字
if(!zm[i])
{
printf("Failed");
return 0;
}
for(int i=0;i<26;i++)
for(int j=i+1;j<26;j++)
if(zm[i]==zm[j]) //错误情况:不同的字母对应相同的密字
{
printf("Failed");
return 0;
}
char end[105]={};
for(int i=0;i
end[i]=zm[fyxx[i]-'A'];
printf("%s",end);
return 0;
}
---------------------
作者:Lucky_Glass
来源:CSDN
原文:https://blog.csdn.net/c20192419mys/article/details/58056988
版权声明:本文为博主原创文章,转载请附上博文链接!