?? caesar_encode.cpp
字號:
#include<stdio.h>
#include<string.h>
#define Max 81
char *Caesar_encode(char *Plaintext,int Key) //凱撒密碼加密算法
{
int lenth,i;
lenth=strlen(Plaintext);
for(i=0;i<lenth;i++) //根據字母的大小寫來判斷使用的算法
{
if(Plaintext[i]>='A'&&Plaintext[i]<='Z')
Plaintext[i]=('a'+(Plaintext[i]-'A'+Key)%26);
else if(Plaintext[i]>='a'&&Plaintext[i]<='z')
Plaintext[i]=('A'+(Plaintext[i]-'a'+Key)%26);
else
Plaintext[i]=Plaintext[i];
}
return Plaintext;
}
void main()
{
int K; //K表示密鑰
char P[Max],*C; //明文存放在數組P中,密文存放在指針變量C所指向的存儲單元
printf("--------------------------Welcome to the Caesar Encode!-----------------------\n");
printf("Please input the Plaintext: ");
gets(P);
printf("Input the Key: ");
scanf("%d",&K);
rewind(stdin); //清空輸入的緩沖區
while(K<0||K>25) //判斷,使密鑰為0~25的數字,如果不是則重新輸入
{
printf("\n Wrong! Please Input the Key again: ");
scanf("%d",&K);
rewind(stdin); //清空輸入的緩沖區
}
printf("-------------------------------------------------------------------\n");
printf("The Ciphertext is: ");
C=Caesar_encode(P,K);
puts(C);
printf("--------------------------------------------------------------------\n");
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -