#include "stdio.h"
void main()
{
/*
电子书7.12
*/
char str[20];
int i,j,k,s;
printf("请输入一行字符:\n");
gets(str);
k = strlen(str);
for(i=0;i<k;i++)
{
if(str[i]>='a' && str[i]<='z'){
s= 25-(str[i]-97);
str[i] = 'a'+s;//密文
}
if(str[i]>='A' && str[i]<='Z'){
s= 25-(str[i]-65);
str[i] = 'A'+s;//密文
}
}
//加密后的内容
puts(str);
//解密
for(i=0;i<k;i++){
if(str[i]>='a' && str[i]<='z'){
s= str[i]-97;
str[i] = 'z'-s;//密文
}
if(str[i]>='A' && str[i]<='Z'){
s= str[i]-65;
str[i] = 'Z'-s;//密文
}
}
puts(str);
}
那就是反过来呗,第26个字母换成第一个字母
#include <stdio.h>
int main()
{
char s[100];
char r[100]={0};
int i=0;
gets(s);
while(s[i] != '\0')
{
if(s[i] >='A' && s[i] <='Z')
{
r[i] = 'A' + 27-(s[i]-'A');
}
else if(s[i] >='a' && s[i] <='z')
{
r[i] = 'a' + 27-(s[i]-'a');
}
i++;
}
printf("%s\n%s",s,r);
return 0;
}