#include <stdio.h>
int main()
{
int rotation, i=0;
char str[80]={0};
printf("Enter Text: ");
scanf("%[^\n]", str);
printf("\"");
printf("Enter Rotation: ");
scanf("%i", &rotation);
while(str[i])
{
if (str[i] >= 'a' && str[i] <= 'z')
printf("%c\n", 'a' + (str[i] - 'a' + rotation)%26);
else
printf("%c\n", str[i]);
i++;
}
return 0;
}
有很难理解这行代码(的printf( “%C \ n”, '一个' +(STR [1] - 'A' +旋转)%26))C旋转字符串程序?
灿任何人只要写一个简要的解释很快,这将有助于我
这是被称为[恺撒密码]一个简单的密码(https://en.wikipedia.org/wiki/Caesar_cipher)的好方法。据说,朱利叶斯使用了3(和23个字母[拉丁字母](https://en.wikipedia.org/wiki/Latin#Phonology))的偏移量,而不是更现代的26个字母的变体 - J,U,和W是新人)。 –
注意不要在本教程中学到错误的教训:此算法仅“加密”[基本拉丁字母](https://en.wikipedia.org/wiki/ISO_basic_Latin_alphabet)字母的小写字母。文本 - 甚至是英文文本 - 使用比所有基本拉丁字母更多的字母。字符值的算术适用性非常有限。 –