405615571 发表于 2015-5-14 17:09:46

求解c语言编写的凯撒加密程序

用c语言怎么编写一个凯撒加密程序,作出25种结果,分别是+1,+2+3.......+25算法
我写的数组当j外层循环改变的时候数组的值也被改变了,例如我输入A,输出应该是ABCDEFG....XYZ,而我的程序是输出ABDGK....
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define N 80

int main(void){
       
    char message;
    int n,i,j;
    int length;
       
    printf("please enter your message:");
    gets(message);
    //printf("please enter shift amount(1-25):");
       
    //scanf("%d",&n);
       
    printf("the message you enter is:");
    puts(message);
    printf("\n");
       
       
    length=strlen(message);
        for(j=1;j<26;j++)
        {
               
                for(i=0;i<length;i++)
                {
                        if(message>='A' && message<='Z')
                        {
                                message=((message-'A')+j)%26+'A';
                        }
                        else if(message>='a' && message<='z')
                        {
                                message=((message-'a')+j)%26+'a';
                        }else continue;
                }
       
    //puts("Encryted message:");
    puts(message);
       
    printf("\n");
        }
    return 0;
       
}   

~风介~ 发表于 2015-5-14 23:28:57

看看这个,希望有用哦!http://bbs.fishc.com/forum.php?mod=viewthread&tid=58967&ctid=73

405615571 发表于 2015-5-16 09:25:45

~风介~ 发表于 2015-5-14 23:28
看看这个,希望有用哦!http://bbs.fishc.com/forum.php?mod=viewthread&tid=58967&ctid=73

谢谢啦!
页: [1]
查看完整版本: 求解c语言编写的凯撒加密程序