输入一个全英文的字符串,输出加密后的字符串。
输入一个全英文的字符串,输出加密后的字符串。 文字信息在传递之前希望先加密。加密的含义是将每个字符转变为另一个字符,加密规则是: 为26个英文字母规定一个序号,a,b,c,d,…,z依次编号为1,2,3,4,…,26. 字符串中每个英文字符的序号加上字符串的长度再加上该字符在字符串中的位置(从0开始计数),得到新字符的序号。如果新序号大于26,则求余得到1-26之间的序号,该字符就转换为新序号对应字符。 大小写都遵从此规则。
什么语言编写?
以下是C的参考
#include <stdio.h>
#include <string.h>
int main()
{
char s[1024],c;
int i,l;
scanf("%s",s);
l=strlen(s);
for(i=0; i<l; i++)
{
c=s[i];
if (c>='a' && c<='z')
{
c-='a';
c+=l;
c+=i;
c%=26;
c+='a';
}
else if (c>='A' && c<='Z')
{
c-='A';
c+=l;
c+=i;
c%=26;
c+='A';
}
s[i]=c;
}
printf("%s ",s);
return 0;
}
上一篇:关于c#线程的问题