求指导!!!!!!用币值为1元,5元,10元,20元的最少张数表示一个金额(C语言)

2024-12-27 15:56:22
推荐回答(1个)
回答1:

这个的解法是从大到小贪心,能用大的换就用大的换.

int i,j,k,m,money,x,y,z,v;
y=money;
printf("请输入一个金额=");
scanf("%d",&money);
i=y/20;//先看看20有几张,取余不对,要用除
x=y-20*i;//赋值的变量要写前面的
j=x/10;
z=x-10*j;
k=z/5;
v=x-5*k;
m=v/1;
if((i*20+10*j+5*k+m)==money);
printf("i=%d\nj=%d\nk=%d\nm=%d\n",i,j,k,m);