我必须制作一个转换器,将消息 :mmZ\dxZmx]Zpgy
转换为相应的 ASCII 数字,使用这个公式
if(OriginalChar+Key > 126)
EncryptedChar = 32 + ((OrgiginalChar + Key) - 127);
else
EncryptedChar = (OrginalChar + Key);
这个问题的关键是 1 到 100 之间的任何数字,所以我必须用每个可能的键尝试公式,直到发出有意义的消息。
所以谁能告诉我我做错了什么或指出我正确的方向
#include <iostream>
#include <cstdlib>
using namespace std;
void converter(char OriginalChar, int Key);
int main()
{
char OriginalChar[16] = ":mmZ\\dxZmx]Zpgy";
int Key;
converter((int)OriginalChar, Key);
system("pause");
return 0;
}
void converter()(char OriginalChar, int Key)
{
char answer;
for (Key = 0; Key <= 100; Key++)
{
if (OriginalChar - Key < 32)
{
answer = (((OriginalChar - Key) + 127) - 32);
}
else
{
answer = (OriginalChar - Key);
}
cout << (char)answer;
}
}