/* シーザー暗号を造るプログラムをまたまた改良してみた・・・暗号化前の文章(英語)に「,」と「.」と「?」は入れて大丈夫だが空白「 」は入れる事は無理な様だ・・・ */
#include <stdio.h>
#define LEN 255
int main(void)
{
char string[LEN];
char ango[LEN];
int key, n, i;
printf("平文を入力(英大小文字のみ):");
scanf("%s", string);
printf("鍵を入力:");
scanf("%d", &key);
i = 0;
while (string[i] != 0) {
if (('a'<=string[i])&&(string[i]<='z')) {
n = (string[i] - 'a' + key + 26) % 26;
ango[i] = 'a' + n;
}
else if (('A'<=string[i])&&(string[i]<='Z')) {
n = (string[i] - 'A' + key + 26) % 26;
ango[i] = 'A' + n;
}
else if (string[i] == ',') {
ango[i] = ',';
}
else if (string[i] == '.') {
ango[i] = '.';
}
else if (string[i] == '?') {
ango[i] = '?';
}
else {
printf("文字が違います");
break;
}
i++;
}
ango[i] = 0;
printf("暗号文:%s\n", ango);
return 0;
}
/* これで「,」と「.」と「?」はそのままに英文字だけが暗号化できる・・・ */
にほんブログ村
にほんブログ村 SF小説
人気ブログランキングへ
最近のコメント