写一个程序,能将人民币金额从阿拉伯数字转换为大写汉字表示。
例如,把1234.56转换为壹仟贰佰叁拾肆圆零伍角陆分
钱数转化成中文汉字,带小数的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qq_27976105 2016-12-03 07:35关注
/*把钱数转换为大写金额*/ #include "stdio.h" void ChangeDaXiaoXie(char c); void ChaiFen(int value); void Chaifen(float fact); void PrintDanWei(int n); char string[25]; void main() { float shu = 0; int value = 0;float fact=0.0; printf("请输入人民币金额:"); scanf("%f", &shu); value = (int)shu; fact = shu - value; ChaiFen(value); Chaifen(fact); } void ChaiFen(int value) { int i=0; int fuben=value; int n=0; while(fuben) { string[n]=fuben%10; fuben=fuben/10; n++; } for(i=n-1;i+1>0;i--) { ChangeDaXiaoXie(string[i]); PrintDanWei(i); } } void PrintDanWei(int n) { if(n>4 &&n<9) { n=n-4; } switch(n){ case -3: printf("厘"); break; case -2: printf("分"); break; case -1: printf("角"); break; case 0: printf("圆"); break; case 1: printf("拾"); break; case 2: printf("佰"); break; case 3: printf("千"); break; case 4: printf("萬"); break; case 5: break; default: break;} } void ChangeDaXiaoXie(char c) { switch(c) { case 0: printf("零"); break; case 1: printf("壹"); break; case 2: printf("贰"); break; case 3: printf("叁"); break; case 4: printf("肆"); break; case 5: printf("伍"); break; case 6: printf("陆"); break; case 7: printf("柒"); break; case 8: printf("捌"); break; case 9: printf("玖"); break; } } void Chaifen(float fact) { float fuben=fact; int m; int i=0; for(i=-1;i+4>0;i--) { fuben=fuben*10.0; m=(int)fuben%10; ChangeDaXiaoXie(m); PrintDanWei(i); } }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 MATLAB动图的问题
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名