当前位置: 代码迷 >> C语言 >> 把5.05元 转换成伍元零伍分
  详细解决方案

把5.05元 转换成伍元零伍分

热度:226   发布时间:2006-08-01 18:26:55.0
把5.05元 转换成伍元零伍分

用C编写一程序 把5.05元 转换成伍元零伍分 那位老大会


----------------解决方案--------------------------------------------------------
这个贴子很久以前就出过了,你自己去找嘛
----------------解决方案--------------------------------------------------------
乘以100,化为整数,求出各位数。
#include<stdio.h>
int main()
{
float rmb;
long money;
int jiao,fen;

scanf("%f",&rmb);

money=(long)(rmb*100);
fen=money%10;
money=money/10;
jiao=money%10;
money=money/10;
printf("%ld元%d角%d分\n",money,jiao,fen);
return(0);
}

----------------解决方案--------------------------------------------------------
这个很简单,其实就是分解出个十百位就可以了!
就是用%和/。

----------------解决方案--------------------------------------------------------

请教 为什么输入 3.3的时候输出就是3元2角9分啊
为什么printf里面有个%ld.%ld和%d有什么不一样吗~~~
本人出学 多谢!!!!


----------------解决方案--------------------------------------------------------
以下是引用HGC2006在2006-8-2 15:10:12的发言:

请教 为什么输入 3.3的时候输出就是3元2角9分啊
为什么printf里面有个%ld.%ld和%d有什么不一样吗~~~
本人出学 多谢!!!!

这个应该是float的精度问题。
因为我的程序money的类型是long所以输出%ld,而后面两个是int,所以是%d.
请你参照数据类型看看long 和int的区别。


----------------解决方案--------------------------------------------------------

谢谢楼上大侠


----------------解决方案--------------------------------------------------------

题目要求的是要用 大写来表示,例如 “3” 须写为 “叁”, “5 ”写为“伍”


----------------解决方案--------------------------------------------------------

其实可以用switch-case语句解决的


----------------解决方案--------------------------------------------------------

把壹 到 玖 都输出吗?/


----------------解决方案--------------------------------------------------------
  相关解决方案