模拟
#include<stdio.h> char str[10][5]={{0,0,0,0,0},{0,0,0,0,0},{'0','A','B','C',0},{'0','D','E','F',0},{'0','G','H','I',0},{'0','J','K','L',0},{'0','M','N','O',0},{'0','P','Q','R','S'},{'0','T','U','V',0},{'0','W','X','Y','Z'}}; char s1[27]={"QWERTYUIOPASDFGHJKLZXCVBNM"}; char s2[27]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}; int main() { int i,len,j,n,m,k; char ch[1010],ch1[1010],ch2[1010]; while(scanf("%s",ch)!=-1) { for(len=i=0;ch[i];i=i+2) { ch1[len]=str[ch[i]-'0'][ch[i+1]-'0']; len++; } for(j=0;j<len;j++) for(i=0;i<26;i++) { if(s1[i]==ch1[j]) {ch1[j]=s2[i];break;} } k=0;n=len/2+len%2; for(i=0;i<n;i++) { ch2[k]=ch1[i]; k+=2; } k=1; for(i=n;i<len;i++) { ch2[k]=ch1[i]; k+=2; } for(i=len-1;i>=0;i--) printf("%c",ch2[i]); printf("\n"); } return 0; }