zoukankan      html  css  js  c++  java
  • C语言:凯撒密码的实现

    凯撒密码的实现(10分)
    题目内容:

    凯撒密码(caeser)是罗马扩张时期朱利斯?凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令。它将字母表中的字母移动一定位置而实现加密。

    他的原理很简单,说到底就是字母与字母之间的替换。每一个字母按字母表顺序向后移3位,如a加密后变成d,b加密后变成e,……x加密后变成a,y加密后变成b,z加密后变成c。

    例如:“baidu”用凯撒密码法加密后字符串变为“edlgx”。

    试写一个算法,将键盘输入的文本字符串(只包含a~z的字符)进行加密后输出。

    输入格式:

    字符串 后面跟一个字母”;“

    注意这里用英文分号”;“作为输入的结束符号

    输出格式:

    字符串

    输入样例:

    baidu;

    输出样例:

    edlgx

    编码:

    #include <stdio.h>
    #include <string.h>
    int main()
    {
        char passwd[100],encrypted[100];
        int i,j,k,t,move=3;
        scanf("%s;",&passwd);
        for(i=0; i<strlen(passwd); i++)
        {
    
     		if(passwd[i] >= 'a' && passwd[i] <= 'z')
            {
                passwd[i] = ((passwd[i]-'a')+move)%26+'a';
            }else if(passwd[i]==';')
            {
            	passwd[i]='';
    		}
        }
        printf("%s",passwd);
        return 0;
    }  
    

     延伸:

    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
        char passwd[100],encrypted[100];
        int i,j,k,t,move;
        while(1)
        {
            printf("Enter message to be encrypted:");
            gets(passwd);
            printf("Enter shift amount(1-25):");
            scanf("%d%*c",&move);
            for(i=0; i<strlen(passwd); i++)
            {
                if(passwd[i] >= 'A' && passwd[i] <= 'Z')
                {
                    passwd[i] = ((passwd[i]-'A')+move)%26+'A';
                }
                else if(passwd[i] >= 'a' && passwd[i] <= 'z')
                {
                    passwd[i] = ((passwd[i]-'a')+move)%26+'a';
                }
            }
            printf("%s",passwd);
            printf("
    ");
        }
        return 0;
    }
    

      

     

  • 相关阅读:
    angularjs: ng-select和ng-options
    angularjs之$timeout指令
    angular的uiRouter服务学习(5) --- $state.includes()方法
    深究AngularJS——如何获取input的焦点(自定义指令)
    深究AngularJS——自定义服务详解(factory、service、provider)
    AngularJS 事件指令/input相关指令/样式指令/DOM操作指令详解
    字符串对象的创建
    redis安装和配置
    Cent Linux启动tomcat慢的问题
    Linux环境nginx的配置
  • 原文地址:https://www.cnblogs.com/songqingbo/p/8934065.html
Copyright © 2011-2022 走看看