?? 新建 文本文檔.txt
字號:
#include <stdio.h>
#include <string.h>
//加密開始
void main()
{
char plaintext[600];
char ciphertext[600];
char keyword[200];
char copykeyword[200];
int sortkey[200];
char a;
int i,m,n,j;
for(i=0;i<600;i++) // 初始化數(shù)組
{
plaintext[i]=0;
ciphertext[i]=0;
}
for(i=0;i<200;i++)
{
keyword[i]=0;
sortkey[i]=0;
}
printf("請輸入keyword:\n");
scanf("%s",keyword);
printf("請輸入plaintext:\n");
scanf("%s",plaintext);
m=strlen(keyword);
n=strlen(plaintext);
for(i=0;i<200;i++)
{
copykeyword[i]=keyword[i];
}
for(i=0;i<m;i++)//對keyword排序
{
for (j=0;j<m-1;j++)
if(keyword[j]>keyword[j+1])
{
a=keyword[j];
keyword[j]=keyword[j+1];
keyword[j+1]=a;
}
}
/*for(i=0;i<m;i++)
{
printf("%c",keyword[i]);
} */
for(i=0;i<m;i++) //得到序列
{
for(j=0;j<m;j++)
{
if(keyword[i]==copykeyword[j])
sortkey[j]=i;
}
}
for(i=0;i<m;i++)
{
printf(" %d ",sortkey[i]);
}
/*printf("明文矩陣為:\n");
for(i=0;i<n;i++)
{
if(i%m==0)
{printf("\n");}//printf("%c",plaintext[i]);}
printf("%c",plaintext[i]);
}*/
printf("\n");
printf("密文為:\n");
for(i=0;i<m;i++)
{
for(j=0;j<=(n/m);j++)
printf("%c",plaintext[sortkey[i]+j*m]);
}
printf("\n");
} //加密完成
//解密開始
//------------------------------------------------------------------------------------------------
/*void main()
{
char plaintext[600];
char ciphertext[600];
char keyword[200];
char copykeyword[200];
char b[100][100];
int sortkey[200];
char a;
int i,m,n,j;
for(i=0;i<600;i++) // 初始化數(shù)組
{
plaintext[i]=0;
ciphertext[i]=0;
}
for(i=0;i<200;i++)
{
keyword[i]=0;
sortkey[i]=0;
}
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
b[i][j]=0;
}
printf("請輸入密文:\n");
scanf("%s",ciphertext);
printf("請輸入密鑰:\n");
scanf("%s",keyword);
m=strlen(keyword);
n=strlen(ciphertext);
for(i=0;i<200;i++)
{
copykeyword[i]=keyword[i];
}
for(i=0;i<m;i++)//對keyword排序
{
for (j=0;j<m-1;j++)
if(keyword[j]>keyword[j+1])
{
a=keyword[j];
keyword[j]=keyword[j+1];
keyword[j+1]=a;
}
}
/*for(i=0;i<m;i++)
{
printf("%c",keyword[i]);
}*/
/*for(i=0;i<m;i++) //得到序列
{
for(j=0;j<m;j++)
{
if(keyword[i]==copykeyword[j])
sortkey[j]=i;
}
}
for(i=0;i<m;i++)
{
printf(" %d ",sortkey[i]);
}
printf("\n");
//char b[m][n/m];
for(i=0;i<m;i++)
{
for(j=0;j<n/m;j++)
{
b[sortkey[i]][j]=ciphertext[i*(n/m)+j];
}
}
printf("明文為:\n");
for(i=0;i<n/m;i++)
{
for(j=0;j<m;j++)
printf("%c",b[j][i]);
}
printf("\n");
}*/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -