シーザー暗号を造るプログラムを改良してみた002
/* シーザー暗号を造るプログラムをまたまた改良してみた・・・暗号化前の文章(英語)に「,」と「.」と「?」は入れて大丈夫だが空白「 」は入れる事は無理な様だ・・・ */
#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;
}
/* これで「,」と「.」と「?」はそのままに英文字だけが暗号化できる・・・ */

にほんブログ村
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- プログラミングとアルゴリズム、データ構造の研究(2023.03.28)
- Windows10パソコンにLinuxマルチブート導入の利点(2017.11.04)
- ビビリながらUEFIパソコンをマルチブートに(2016.01.04)
- 新しいパソコンを買いました(2016.01.04)
- acer Aspire one 751hのHDDを換装(2013.10.29)
コメント