从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,
要求显示100元、50元、10元、2元、1元、5角、1角、5分、1分各多少张。
(输出面额最大值:比如345.78=100*3+10*4+5*1+0.5*1+0.1*2+0.01*8)
我用了一个很笨的方法,但没完善的这个程序,金额到“角”和“分”就不知道如何解决,大神能教我一下怎样把最后的那部分完成。请在评论下指导。谢谢了
#include <stdio.h>
int main(int argc, const char * argv[]) {
int m,yb,ws,s,w,e,y,wj,yj,wf,yf;
printf("请输入金额:");
scanf("%d",&m);
yb=m/100;//100
printf("%d\n",yb);
ws=(m-(yb*100))/50;//50
printf("%d\n",ws);
s=(m-(yb*100)-(ws*50))/10;//10
printf("%d\n",s);
w=(m-(yb*100)-(ws*50)-(s*10))/5;//5
printf("%d\n",w);
e=(m-(yb*100)-(ws*50)-(s*10)-(w*5))/2;//2
printf("%d\n",e);
y=(m-(yb*100)-(ws*50)-(s*10)-(w*5)-(e*2))/1;//1
printf("%d\n",y);
wj=(m-(yb*100)-(ws*50)-(s*10)-(w*5)-(e*2)-y)/0.5;//0.5有问题
printf("%d\n",wj);
printf("100元%d张 50元%d张 10元%d张 5元%d张 2元%d张 1元%d张",yb,ws,s,w,e,y);
return 0;
}