⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caesar.c

📁 Caesar体制
💻 C
字号:
#include<string.h>
#include<ctype.h>
int n,i,m,k;            /*全局变量,n表示密钥*/

int jiami(char x[200],char y[200])  /*加密部分*/
{
 printf("***凯撒体制加密***\n");
 printf("请输入明文:\n");
 scanf("%s",x);
 k=strlen(x);

 printf("请输入密钥n\n");
 scanf("%d",&n);
 printf("密钥是n=%d\n",n);
 if(n<0)
     printf("错误!\n");
 if(n>26)
     n=n%26;
 for(i=0;i<k;i++)
 {
      if(isupper(x[i]))
          x[i]=x[i]+32;  /*将明文中的大写字母转化为小写字母*/
      if(x[i]+n>122)         /*加密*/
          y[i]=x[i]+n-26;
      else
          y[i]=x[i]+n;
  }

  printf("密文是:%s\n",y);
  return(y);
}

int jiemi(char x[200],char y[200])     /*解密部分*/
{
 printf("***凯撒体制解密***\n");
 printf("请输入密文:\n");
 scanf("%s",y);
 k=strlen(y);

 printf("请输入密钥n\n");
 scanf("%d",&n);
 printf("密钥是n=%d\n",n);
 if(n<0)
     printf("错误!\n");
 if(n>26)
     n=n%26;
 for(i=0;i<k;i++)
 {
     if(isupper(y[i]))  /*将密文中的大写字母转化为小写字母*/
         y[i]=y[i]+32;
     if(y[i]-n<97)        /*解密*/
         x[i]=y[i]-n+26;
     else
         x[i]=y[i]-n;
 }
 printf("明文为%s:\n",x);
 return(x);
}

main()                                 /*主函数部分*/
{int s;
 char x[200],y[200];    /*x表示明文,y表示密文*/

 printf("***凯撒密码体制***\n");
 printf("请选择:若要加密请输入1;若要解密请输入0!\n");
 scanf("%d",&s);

 if(s==1)
 jiami(x,y);
 if(s==0)
 jiemi(x,y);
 if(s!=1 && s!=0)
 printf("输入错误!\n");
 getch();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -