📄 vigenere.cpp
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define NUM 100
int main()
{
int p[27][27];
int i,j;
for(i=1;i<=26;i++)
{
for(j=1;j<=26;j++)
{
p[i][j]=63+i+j;
if(p[i][j]>90)
{
p[i][j]=p[i][j]-26;
}
}
}
i=0;
char key[NUM],word[NUM],*temp;
int k1,k2;
printf("密钥: ");
scanf("%s",key);
printf("明文: ");
scanf("%s",word);
printf("\n");
k1=strlen(key);
k2=strlen(word);
temp=(char*)calloc(k2,sizeof(char));
int k=0;
if(k1<k2)
{
while(i<k2)
{
key[i]=key[k];
i+=1;
k+=1;
if(k%k1==0)
{
k=0;
}
}
}
/*for(i=0;i<k2;i++)
{
printf("%c",word[i]);
}*/
for(i=0;i<k2;i++)
{
temp[i]=p[key[i]-96][word[i]-96];
}
printf("密文: ");
for(i=0;i<k2;i++)
{
printf("%c ",temp[i]);
}
printf("\n");
system("pause");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -