直接模擬5次解密過程就可以過的水題..一道出自百度貼吧的真實(shí)故事的題目哈哈..
#include<iostream>
#include<cstring>
using namespace std;
char num[10][5]=
{"","_","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"};
char zh1[27]=
{"QWERTYUIOPASDFGHJKLZXCVBNM"};
char zh[27];
char str[1005];
char c[505];
int main()

{
for(int i=0;i<26;i++)
zh[zh1[i]-'A']='A'+i;
while(gets(str))
{
int len=strlen(str);
int k=0;
for(int i=0;i<len;i+=2)
c[k++]=num[str[i]-'0'][str[i+1]-'0'-1];
len=k;
c[len]='\0';
for(int i=0;i<len;i++)
c[i]=zh[c[i]-'A'];
int l1;
if(len%2==0)
l1=len/2;
else
l1=len/2+1;
int i,j;
char res[505];
k=0;
for(i=0,j=l1;i<l1&&j<len;i++,j++)
{
res[k++]=c[i];
res[k++]=c[j];
}
for(;i<l1;i++)
res[k++]=c[i];
for(;j<len;j++)
res[k++]=c[j];
for(i=k-1;i>=0;i--)
putchar(res[i]);
putchar('\n');
}
return 0;
}


