永发信息网

C++中文大写数字

答案:1  悬赏:40  手机版
解决时间 2021-07-30 18:12

Description

  我们在金融机构填写金额时使用的不是阿拉伯数字,而是中文的大写数字。
  请写一个程序将数字转换为中文大写数字。
  标准大写写法如下:零、壹、贰、参、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿

  注意:由于测试系统中的编译器不直持汉字,所以0-9数字的中文大写还是0-9代表,“拾、佰、仟、万、亿”分别用它们的拼音(shi,bai,qian,wan,yi)代表。

Input

  一个整数数值N( N>=0 且N<=2147483647)

Output

  对应的中文大写文字字串

Sample Input

12345 10200

Sample Output

1wan2qian3bai4shi5 1wan02bai

Hint

* 遇到 10 时输出『1shi』

最佳答案
#include<iostream.h>
const int N=30;
int swap(char a[],int m,int n)
{
int i,j;
for(i=n;i>0;i--)
{
for(j=m;j>=n-i;j--)
a[j]=a[j-1];
m++;
}
return m;
}
void main()
{
char a[12],b[N];
int i,j,m=0,n=1;
cout<<"一个整数数值N( N>=0 且N<=2147483647)"<<endl;
cin>>a;
for(i=0;a[i]!='\0';i++)
m++;
b[n-1]='\0';
for(i=m-1;i>=0;i--)
if((m-i)%4==2)
{
if(a[i]!='0')
{
n=swap(b,n,3);
b[0]='s';b[1]='h';b[2]='i';
}
n=swap(b,n,1);
b[0]=a[i];
}
else if((m-i)%4==3)
{
if(a[i]!='0')
{
n=swap(b,n,3);
b[0]='b';b[1]='a';b[2]='i';
}
n=swap(b,n,1);
b[0]=a[i];
}
else if((m-i)%4==0)
{
if(a[i]!='0')
{
n=swap(b,n,4);
b[0]='q';b[1]='i';b[2]='a';b[3]='n';
}
n=swap(b,n,1);
b[0]=a[i];
}
else
{
if(m-i==5)
{
n=swap(b,n,3);
b[0]='w';b[1]='a';b[2]='n';
}
else if(m-i==9)
{
n=swap(b,n,2);
b[0]='y';b[1]='i';
}
n=swap(b,n,1);
b[0]=a[i];
}
cout<<b<<endl;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
取个朝气蓬勃的名字 姓彭 要三个字的 中间的
我的电脑配置可以玩极品几啊?
怎么限制群里的人不能自行改名
金丝楠木适用于做什么,做金丝楠木的小盆景用
浙江6得细雪成品能卖多少?
麻城市黄冈大自然农家美食饭庄地址在什么地方
出生在1981的艺人有哪些
我现在红钻一级,如果充了10Q币,怎么可以升
关于实数问题
劲舞团的剧情图标怎么点亮啊?
1978年属马的是什么命?
在北京买的汽车. 可以在西安上牌子吗?
包加偏旁组词语有哪些,亢加偏旁组词
怎样处理恶意插件和IE修改了,为什么用金山删
酷我音乐盒的mv能下载吗
推荐资讯
儿童多彩生活的诗句,描写儿童生活情趣的诗句
网上的情侣走到了现实 但分手了 男孩不爱女孩
vc++实现员工类
急啊~进来帮帮忙好吗?
为什么我的多普达860电话震动有但信息就没有
DNF王者之心主要在哪个图里出?
江汉区武汉金药堂(新湾路)地址是什么,有没有
鹤城区怀化里手馄饨地址是什么,有没有知道的
北京市公安局朝阳分局东湖派出所地址有知道的
求吻别迈克学摇滚MP3
DNF上海一区一把+13影虎或者+13执行需要多少Y
鹤城区怀化旅游百事通地址在什么地方,想今天
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?