某人购买物品一共花了x元(x<=100),用100元现金去支付,售货员需要找零,请设计程序给出一个找零方案,并使找零的张数最少。设现有人民币面值包括:100元、50元、20元、10元、5元、1元、5角和1角。
当x包含1角以下的金额时,按照四舍五入到角之后再进行找零。
#includeint main() { int i1,i2,i3,i4,i5,i6,i7,x,y,z;//x角,y个,z十 float a,b,c; printf("输入(单位 元):"); scanf("%f",&a); b=((int)(10.0*a+0.5))/10.0; c=100.0-b; if(b<=0.0||b>=100.0)printf("请重新输入n"); else { x=((int)(10*c))%10; y=((int)(10*c))%100/10; z=10*c/100; if(x>=5)i6=1,i7=x-5; else i6=0,i7=x; if(y>=5)i4=1,i5=y-5; else i4=0,i5=y; //x/5 x%5 y/5 y%5 i1=z/5; i2=(z%5)/2; i3=(z%5)%2; printf("共找零%.1f元:n50元%d张,20元%d张,10元%d张,5元%d张,1元%d张,5角%d张,1角%d张",c,i1,i2,i3,i4,i5,i6,i7); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)