c语言编程序将原文中的每个字符后面第三个字符作为密文字符,倒序后成密文。如原文是AByz。则密文是cbED

提示:将A到Z绕一圈。a到z绕一圈
2025-01-07 09:28:06
推荐回答(2个)
回答1:

#include "stdio.h"

#include "string.h"

int main()

{

    char str[100]={0};

    char mima[100]={0};

    int i,len;

    printf("请输入原文:");

    gets(str);

    len=strlen(str);

    for(i=0;i

    {

       if(str[i]=='X')

        mima[len-1-i]='A';

       else if(str[i]=='Y')

          mima[len-1-i]='B';

       else if(str[i]=='Z')

          mima[len-1-i]='C';

       else if(str[i]=='x')

          mima[len-1-i]='a';

       else if(str[i]=='y')

          mima[len-1-i]='b';

       else if(str[i]=='z')

          mima[len-1-i]='c';

       else

         mima[len-1-i]=str[i]+3;

    }

    printf("密码为:");

    puts(mima);

 

}

回答2:

楼主说的是凯撒密码吧?我最近刚好有做哦!
char str1[50]="",str2[50]="";
int len=0;
int i;
while(1)
{
printf("请输入原文:");
gets(str1);
len=strlen(str1);
printf("输入的原文是:%s\n",str1);
printf("原文长度:%d\n",len);
for(i=0;i{
if('a'<=str1[i]<='z')
{str2[i]=(str1[i]+3-97)%26+'a';}//原字母后的第三个字母替代原字母
else
if('A'<=str1[i]&&str1[i]<='Z')
str2[i]=(str1[i]+3-65)%26+'A';
else
str2[i]=str1[i]+3;
}
printf("密文:%s\n\n",str2);
}
头文件什么的自己加哈……