#include <stdio.h>
#include <string.h>
void main()
{
int a=0,i=0,j=0,k=0,n=0,m=0,x1=0,x2=0,y1=0,y2=0;
char fair[5][5]={'a'},fair1[26]={'a'};
char biao[26]={"abcdefghiklmnopqrstuvwxyz"};
char key[100]={0},c;
char plaintext[1000];
char ciphertext[1000];
printf("please enter the key\n");
scanf("%s",key);
scanf("%c",&c);
printf("%s\n",key);
while(key[i])//将关键字中的'j'换成'i'
{
if(key[i]=='j')
key[i]='i';
i++;
}
i=0;
while(key[i])//将关键字中的重复字母变成'@'
{
j=i+1;
while(key[j])
{
if(key[i]==key[j])
{
key[j]='@';
}
j++;
}
i++;
}
i=0;
j=0;
while(key[i])//将关键字中出现过的字母在字母表中置成'@'
{
if(key[i]=='@')
{
i++;
continue;
}
for(j=0;j<25;j++)
{
if(key[i]==biao[j])
biao[j]='@';
}
i++;
}
strcat(key,biao);
i=0;
j=0;
while(key[i])//在字符数组中生成playfair表
{
if(key[i]=='@')
{
i++;
continue;
}