私は先月この課題を受け取りましたが、それ以降に述べる問題のために間違っていました。現在、私はCaesarのCipherをやっています。私は正しいフォーマットを持っていると信じています。ユーザーに文字列を要求し、key == 3
で暗号化しました。しかし、平文がX
,Y
,Z
,x
,y
、またはz
の場合、アルファベットの周りをループしたいと思います。しかし、私はこれらの文字のいずれかを入れると、A
,B
、およびC
が得られませんが、]...
と他の中かっこがあります。問題を解決するためのヒント。 ありがとうございました!シーザー暗号シフト文字
void main()
{
int key = 3;
char string[256];
int i = 0;
printf("Enter the string you want encrypted\n");
fgets(string, sizeof(string), stdin);
for (i = 0; i < strlen(string); i++) {
if (string[i] == ' ') {;}
else if ((string[i] >= 'a' && string[i] <= 'z' || string[i] >= 'A' && string[i] <= 'Z')){
string[i] = string[i] + key;
}
}
printf("Cipher text:%s",string);
}
基本的にmod%26で、最初の文字 'a'を追加しますか? – SoonPro
@SoonProはい、それは動作するはずです。 –
ありがとうございます!助けを感謝し、それを理解する。 – SoonPro