问题描述
#include <bits/stdc++.h> using namespace std; string s; string a[20]={"","","shi","bai","qian","wan","shi","bai","qian","yi","shi"}; string b[20]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; int main() { cin>>s; int len=s.length(),ans1,ans2; for(int i=0;i<len;i++){ int j=s[i]-‘0‘; if(len-i>=9)ans1=1; if(len-i<9&&len-i>=5)ans2=1;//判断千万~万是否有位数 if(j==0){ if(i<len-1&&s[i+1]!=‘0‘)cout<<b[j]<<" ";//ling if(((len-i==9)&&ans1) || (len-i==5)&&ans2) cout<<a[len-i]<<" ";} else{ if((len-i==2||len-i==6||len-i==10)&&j==1&&i==0) cout<<a[len-i]<<" ";//十亿、十万、十 else cout<<b[j]<<" "<<a[len-i]<<" ";} } printf("\n"); }
原文:https://www.cnblogs.com/frente/p/10569053.html