You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
910 B
48 lines
910 B
#include<bits/stdc++.h>
|
|
using namespace std;
|
|
int main() {
|
|
int len,i;
|
|
char shu[10][50]= {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
|
|
char dw[10][50]= {" ","shi","bai","qian","wan","shi wan","bai wan","qian wan","yi","shi yi"};
|
|
char a[20];
|
|
int b[20];
|
|
int j=0,k=0,wei=0;
|
|
int ds[40];
|
|
scanf("%s",&a);
|
|
len=strlen(a);
|
|
for(i=len-1; i>=0; i--) {
|
|
b[j]=(int)a[i]-48;
|
|
if(j>3)wei=wei%4;
|
|
ds[k]=wei;
|
|
k++;
|
|
ds[k]=b[j];
|
|
k++;
|
|
wei++;
|
|
j++;
|
|
}
|
|
int k1=0;
|
|
for(i=1; i<k; i=i+2)
|
|
if(ds[i]!=0) {
|
|
k1=i-1;
|
|
break;
|
|
}
|
|
|
|
int p=0;
|
|
for(i=k-1; i>=k1; i=i-2) {
|
|
if(ds[i]==1&&ds[i-1]==1&&i==(k-1) ) {
|
|
printf("shi ");
|
|
continue;
|
|
}
|
|
if(ds[i]!=0||p==0) {
|
|
printf("%s ",shu[ds[i]]);
|
|
p++;
|
|
if(ds[i]!=0) p=0;
|
|
}
|
|
if(ds[i-1]!=0&&ds[i]!=0) printf("%s ",dw[ds[i-1]]);
|
|
if(i/2==8||(i/2>8&&(i-2)<k1)) printf("yi ");
|
|
if(i/2==4||(i/2>4&&i/2<8&&(i-2)<k1)) printf("wan ");
|
|
}
|
|
return 0;
|
|
}
|
|
|