當前位置:編程學習大全網 - 編程語言 - Abcdef編程

Abcdef編程

/*

備註:以字符形式讀取已知文件的內容(僅英文字母)。

根據鍵(用戶從鍵盤輸入)可以移動相應的字符,解密時移動是相反的。?

比如:加密:如果原文是abcdef,密鑰是5,那麽abcdef的每個字母都會按字母順序後移5。

(註:Z後面跟著a)密文(亂碼)fghijkl可以獲得;

解密文件:文件內容為fghijk1,密鑰為5。

然後就是fghijk1,每個字母前移5位(註A後跟Z),就可以得到原來的abcdef。

*/

#包含?& ltstdio.h & gt

#包含?& ltstring.h & gt

#包含?& ltstdlib.h & gt

#定義?麥克斯。1024//字符串的最大長度

夏爾?read text[MAX];//讀取未加密的字符

夏爾?tmp[MAX];//加密字符

//加密-加密-解密-生成密鑰-輸入數字密鑰

int?genKey()

{

int?a = 0;

puts("回車?key & ltint & gt:");

scanf("%d ",& ampa);

回歸?a;

}

作廢?文件()

{

文件?*fp=fopen("test.txt "," r ");//選擇自己的文本文件。

如果(?fp?==NULL)

printf("file?不是嗎?exsit”);

int?I = 0;

夏爾?ch;

而(?!feof(fp))

{

ch = fgetc(FP);

readtext[i]?= ch

i++;

}

fclose(FP);

}

作廢?解密(char?*文本,?int?關鍵)

{

puts("到?解密:“);

puts(文本);

夏爾?tmp[MAX]= " ";

strcat(tmp,text);

for(int?I = 0;?我& lt?strlen(text)+1;?i++)

如果(?tmp[I]& gt;='a '?& amp& amp?tmp[I]& lt;='z '?)

{

tmp[i]?-=?鑰匙?;

如果(?tmp[i]?& lt壹個嗎?)

tmp[i]?=?z'+1?+?tmp[I]--a;

}

puts("解密:");

賣出(tmp);

}

作廢?emcrypt(char?*文本,?int?關鍵)

{

puts("到?em crypt:");

puts(文本);

//char?tmp[MAX]= " ";

strcat(tmp,text);

for(int?I = 0;?我& ltstrlen(text)+1;?i++)

如果(?tmp[I]& gt;='a '?& amp& amp?tmp[I]& lt;='z '?)

{

tmp[i]?+=?鑰匙?;

如果(?tmp[i]?& gtz '嗎?)

tmp[i]?=?a'-1?+?tmp[I]-' z ';

}

puts(" em crypted:");

賣出(tmp);

}

int?主()

{

int?答?= genKey();

file();

emcrypt(readtext,a);

解密(tmp,a);

回歸?0;

}

  • 上一篇:想成為 JavaScript 高手,有沒有好的學習路線和方法?
  • 下一篇:如何用c語言編寫歌曲
  • copyright 2024編程學習大全網