个,万,亿都是节点,要单独处理。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char s[11]="";
gets(s);
int len=strlen(s);
char str[11]="";
int i;
for(i=0;i<len;i++){
str[i]=s[len-1-i];
}
str[len]='A';
char ch;
char a;
int t=0;
for(i=len-1;i>=0;i--){
switch(i){
case 1:case 5:ch='S';break;
case 2:case 6:ch='B';break;
case 3:case 7:ch='Q';break;
case 8:ch='Y';break;
case 4:ch='W';break;
case 0:break;
}
if(i==8){
printf("%c%c",str[i]+'a'-'0',ch);
}else if(i>4&&i<8){
if(str[i]!='0'){
t=1;
printf("%c%c",str[i]+'a'-'0',ch);
}else if(str[i]=='0'&&str[i-1]!='0'){
printf("a");
}
}else if(i==4){
if(str[i]!='0'){
printf("%c%c",str[i]+'a'-'0',ch);
}else if(t==1){
printf("W");
}
}else if(i>0){
if(str[i]!='0'){
printf("%c%c",str[i]+'a'-'0',ch);
}else if(str[i]=='0'&&str[i-1]!='0'){
printf("a");
}
}else{
if(str[i]!='0'){
printf("%c",str[i]+'a'-'0');
}else if(len==1){
printf("a");
}
}
}
return 0;
}