私は実験シート用にシーザーズ・サイファーを作っていて、演習のポイントである 3 つのサブタイトル (シーザーズ・サイファー) を暗号化できるようにしました。しかし、私を悩ませていることが1つありました。まず、3 以外に入れると末尾に文字があります。たとえば、「マルウェア」と入力し、キーに 2 を入力します。これは私のコードです:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char text[100];
int key,i;
printf("Please enter a word/sentence (lowercaps) for encrypting :\n ");
fgets(text,100,stdin);
printf("Please enter the key that you desire : eg:14\n");
scanf("%d", &key);
for(i=0;i<strlen(text);i++)
{
if (key>=26)
{
key=key%26;
}
if (text[i]==' ')
{
continue;
}
if(text[i]+key>'z')
{
text[i]-=97;
text[i]+=26;
text[i]+=key;
text[i]%=26;
text[i]+=97;
}
else
{
text[i]=text[i]+key;
}
}
printf("this is your encrypted text : %s", text );
}
コーディングの正しいインデント方法に従ったことを願っています。そのせいで嫌われ者が多かった