提交后,成功,程序如下:
#include <iostream>
using namespace std;
int encodeChar(char c)
{
if( islower(c))
return c - 96;
return c - 38;
}
char decodeInt(int n)
{
if(1 <= n && n <= 26)
return n + 96;
return n + 38;
}
int convert(int x)
{
return (x * x + x + 1) % 52;
}
void encrypt(char orgStr[], char encStr[])
{
int i, x, result;
for(i = 0; '\0' != orgStr[i]; i++)
{
x = encodeChar(orgStr[i]);
result = convert(x);
encStr[i] = decodeInt(result);
}
}
int main()
{
char orgStr[100];
char encStr[100] = ""; // necessary
// memset(encStr, 0, 100 * sizeof(char));
while(cin >> orgStr)
{
encrypt(orgStr, encStr);
cout << encStr << endl;
}
return 0;
}