请各位大侠,赐教啊,偶弄了一天了也搞不定啊,谁给解决谁就是高手啊。。!!!
给一个人发工资,设计一个方案,使得其人民币张数最少,面额有100元多少张,50元多少张,20元多少张,10元多少张,5元多少张,1元多少张,5角多少张,2角多少张,1角多少张?在一个文本框中输入工资金额,然后自动算这些金额各自有多少张,我自己设计了一个算法,但是还是有点小问题,百思不得其解,可能陷入死胡同了,哪位大侠有好的算法,最好能有程序的实现代码,感激不尽,感恩戴德啊,大侠们来拯救我吧,谢谢啊!。。。。。谢谢啊。。。求教求教...!!!!!!!
[解决办法]
int num=trunc(工资*100);
一百的张数
i:=num div 10000
item:= num mod 10000;
50的张数
j := item div 5000
item:=item mod 5000;
20的张数
k :=item div 2000
item:= item mod 2000;
以其类推 当item<1 退出
[解决办法]
公式:工资=面额*n (先判断工资是否大于某个面额,再选择除以那一种面额)
张数(n)=工资 div 面额 的商
余数(工资 mod 面额)为下一个面额的被除数(工资),直到余数为0或者<1,就结束
自己实现去吧
我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html