Files
python/C++专题课程/基础知识/数的读法.cpp
HuangHai 1f397eca87 'commit'
2025-08-30 18:35:01 +08:00

48 lines
957 B
C++

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