【发布时间】:2011-05-30 16:10:47
【问题描述】:
我正在编写一个用 C++ 解决凯撒密码的程序。它需要一个字母字符串,并在每个循环中将其向左移动:“abc....yz”->“bcd....yza”。问题是在另一个循环之后:“bcd.....yza”->“cde.....yzaa”。
char temp; // holds the first character of string
string letters = "abcdefghijklmnopqrstuvwxyz";
while (true)
{
temp = letters[0];
for (int i = 0; i < 26; i++)
{
if (i == 25)
{
letters += temp;
}
letters[i] = letters[i + 1];
cout << letters[i];
}
cin.get();
}
复制并粘贴该代码,您就会明白我在说什么。我该如何解决这个神秘的问题?
【问题讨论】:
-
可以将
temp变成一个简单的char。 :)
标签: c++