您的位置:首页 > 编程语言 > C语言/C++

关于C语言加密的算法

2016-02-17 15:47 696 查看
大家有没有碰到这样的问题:

 

问:编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。

 

下面我来说下这个问题的解决办法,和思路,我坚信没有办不到的,只有想不到的,有想法就能搞定!使用对应的ascii是比较快的方法。

看下面的代码我来分析下,看注释,,,

#include<stdio.h>
#include<string.h>
 
int main()
{
    charstr[300];
    inti,len;
    gets(str);//输入字符串
    length=strlen(str);//计算字符串的长度
    for(i=0;i<length;i++)
  {
        print(str[i]);//放在循环中调用这个函数
   }
    return0;
}
 
void print(char ch)
{
    if(ch<='9'&&ch>='0')
    {
        putchar(ch);
    }
//如果是x之前就输出该字母的后3位,如果是x,输出abc,如果是y输出bcd,如果是z输出cde
//这里你可以自己写,看自己的需求
    elseif(ch>='x')
    {
        putchar(ch-23);//abc
        putchar(ch-22);
        putchar(ch-21);
    }
//如果不是x,y,z
就按要求输出后三位字母, 是a的话就输出bcd
    else
    {
        putchar(ch+1);//b
        putchar(ch+2);//c
        putchar(ch+3);//d
    }
}

 

//供初学者,有不懂的可以给我发邮件329479614@qq.com,大家可以交流下!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: