|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
用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[N];
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[i]>='A' && message[i]<='Z')
{
message[i]=((message[i]-'A')+j)%26+'A';
}
else if(message[i]>='a' && message[i]<='z')
{
message[i]=((message[i]-'a')+j)%26+'a';
}else continue;
}
//puts("Encryted message:");
puts(message);
printf("\n");
}
return 0;
} |
|