真亏HH神犇能想出这种恶心题!而且题目描述还这么坑爹!
奇偶不说清楚!
#include<iostream>
#include<cstdio>
using namespace std;char str[1111];
char l1[111];
char l2[111];
int len;void work()
{len=strlen(str);int index[26]={21,22,23,31,32,33,41,42,43,51,52,53,61,62,63,71,72,73,74,81,82,83,91,92,93,94};for( int i=0;i<26;i++ )l1[index[i]]=char(i+'A');char str1[1111];int len1=0;for( int i=0;i<len;i+=2 ){int num=0;num=(str[i]-'0')*10+str[i+1]-'0';str1[len1++]=l1[num];}str1[len1]=0;//printf( "loop1:%s\n",str1 );for( int i=0;i<=len1;i++ )str[i]=str1[i];len=len1;char index1[30]={"QWERTYUIOPASDFGHJKLZXCVBNM"};for( int i=0;i<26;i++ )l2[index1[i]]='A'+i;for( int i=0;i<len;i++ )str[i]=l2[str[i]];//printf( "%s\n",str );char str2[1111];len1=0;//printf("len:%d\n",len);if( len%2==0 ){ for( int i=0;i<len/2;i++ ){str2[len1++]=str[i];str2[len1++]=str[i+len/2];}for( int i=len1-1;i>=0;i-- )printf( "%c",str2[i] );printf( "\n" );}else{for( int i=0;i<=len/2;i++ ){str2[len1++]=str[i];if( i+len/2+1<len )str2[len1++]=str[i+len/2+1];}for( int i=len1-1;i>=0;i-- )printf( "%c",str2[i] );printf( "\n" );}
}int main()
{while( scanf("%s",&str)!=EOF ){work();}return 0;
}