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

#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;
}