题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
#include <stdio.h>
int main() {
char JM[100],BJM[100];
int jm=0,bjm=0,i,j,k,b;
scanf("%s",JM);
scanf("%s",BJM);
while(JM[jm]!=0) jm++;
while(BJM[bjm]!=0) bjm++;
//全部大写化
for(i=0;i<jm;i++)
if(JM[i]>95)
JM[i]=JM[i]-32;
//去重
for(i=0;i<jm;i++)
for(j=i+1;j<jm;j++)
if(JM[i]==JM[j]){
for(k=j;k<jm;k++)
JM[k]=JM[k+1];
j--;
jm--;
}
//填写缺少字母
for(i=jm;i<26;i++)
for(j=65;j<91;j++){
b=0;
for(k=0;k<i;k++)
if(JM[k]==j)
b=1;
if(b==0)
{
JM[i]=j;
break;
}
}
//复制小写字母
for(i=0;i<26;i++)
JM[i+26]=JM[i]+32;
//建立正常对应表
char ZJM[52];
for(i=0;i<26;i++)
ZJM[i]=i+65;
for(i=26;i<52;i++)
ZJM[i]=i-26+97;
//开始编译
for(i=0;i<bjm;i++)
for(j=0;j<52;j++)
if(BJM[i]==ZJM[j]){
BJM[i]=JM[j];
break;
}
//输出
printf("%s",BJM);
return 0;
}


凡岛公司福利 528人发布