qqlinhai 发表于 2009-6-13 20:04:27

我之前看了教程,然后现在自己再写了一个。发现这个程序还有bug。如图:

然后我再修改了一下,代码如下:
#include "stdio.h"
#include "math.h"

void Jiami(char * str,int n)
{
        while(*str)
        {
                if(*str<='Z' && *str>='A'){*str++=(*str-'A'+n+(abs(n)/26+1)*26)%26+'A';continue;}
                if(*str<='z' && *str>='a'){*str++=(*str-'a'+n+(abs(n)/26+1)*26)%26+'a';continue;}
                str++;
        }
}

void Jiemi(char * str,int n)
{
        Jiami(str,-(n%26));
}

void main()
{
        int n;
        char str;
       
        printf("请输入你要加密的字符串:");
        gets(str);
       
        printf("你输入的字母需要向后移多少位:");
        scanf("%d",&n);
       
        Jiami(str,n);
        printf("加密后的结果为:");
        puts(str);
       
        Jiemi(str,n);
        printf("解密后的结果为:");
        puts(str);
}


[ 本帖最后由 qqlinhai 于 2009-6-13 20:32 编辑 ]
页: 1 [2]
查看完整版本: 第七课字符串加解密的完整代码(6月7号修正解密函数BUG)