#include<iostream>
#include<vector>
using namespace std;
string c[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
int mian()
{
vector<string>ans;
int N;
cin>>N;
if(N==0){
cout<<"ling";
return 0;
}
if(N<0){
ans.emplace_back("Fu");
N*=-1;
}
string s=to_string(N);
int digit[12],i;
for(i=0;i<s.size();i++){
digit[s.size()-1-i]=s[i]-'0';
}
for(i=s.size()-1;i>=0;i--){
if(i!=s.size()-1&&digit[i]>0){
if(i!=7&&i!=3){
if(digit[i+1]==0)ans.emplace_back("ling");
}
else{
if(!digit[i+4]&&!digit[i+3]&&!digit[i+2]&&!digit[i+1]){
ans.emplace_back("ling");
}
}
}//插零
if(digit[i]>0)ans.emplace_back(c[digit[i]]);//本位数字
if(i==8)ans.emplace_back("Yi");
else if(i==4){
if(digit[7]||digit[6]||digit[5]||digit[4]){
ans.emplace_back("Wan");
}
}
else{
if(i%4==3&&digit[i])ans.emplace_back("Qian");
else if(i%4==2&&digit[i])ans.emplace_back("Bai");
else if(i%4==1&&digit[i])ans.emplace_back("shi");
}//单位
}
for(i=0;i<ans.size();i++){
if(i)cout<<' ';
cout<<ans[i];
}
}
1082 Read Number in Chinese
最新推荐文章于 2024-09-29 18:03:50 发布
该C++代码实现了一个功能,将输入的整数转换成中文表示。程序首先定义了中文数字的字符串数组,然后读取用户输入的整数N。如果N为0,直接输出零;如果是负数,在结果前添加负。接着,程序将数字转换为字符串,逐位处理,根据每位数字添加对应的中文数字,并在适当位置插入单位如万,千,百,十等。
摘要由CSDN通过智能技术生成