【发布时间】:2022-01-01 07:57:41
【问题描述】:
所以基本上代码对于某些输入工作正常,但我想要 input "abcdefghijklmnopqrstuvwxyz" 然后作为位置 "-3" ,预期输出应该是 "xyzabcdefghijklmnopqrstuvw",有人可以帮忙吗?
Console.WriteLine("Type a string to encrypt:");
string UserString = Console.ReadLine();
Console.WriteLine("\n");
Console.Write("Type in the position:");
int key = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("\n");
Console.WriteLine("Encrypted Data");
string cipherText = Encipher(UserString, key);
Console.WriteLine(cipherText);
Console.Write("\n");
char cipher(char ch, int key)
{
if (!char.IsLetter(ch))
{
return ch;
}
char d = char.IsUpper(ch) ? 'A' : 'a';
return (char)((((ch + key) - d) % 26) + d);
}
string Encipher(string input, int key)
{
string output = string.Empty;
foreach (char ch in input)
output += cipher(ch, key);
return output;
}
【问题讨论】: