求救C语言高手 ,我要怎么修改这个程序才能实现这个题的功能?

编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款:Enteradollaramount:93$20bills:4$1... 编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款:

Enter a dollar amount : 93

$20 bills : 4
$10 bills : 1
$5 bills : 0
$1 bills : 3

下面是我编的程序
#include "stdafx.h"
#include<stdio.h>
int main(int argc, char* argv[])
{
int a,b,c,d,n;
printf("Enter a dollar amount:");
scanf("%d",&a);
if(a>20)
{b=int(a/20);
printf("$20 bills:%d\n",b);}
else if((a-b*20)>10)
{c=int((a-b*20)/10);
printf("$10 bills:%d\n",c);}
else if((a-b*20-c*10)>5)
{ d=int((a-b*20-c*10)/5);
printf("$5 bills:%d\n",d);}
else { n=a-b*20-c*10-d*5;
printf("$1 bills:%d\n",n);}

return 0;
}
我现在的问题是上面的程序只能输出$20 bills : 4这一行
那程序怎么修改一下才能实现?
求救高手啊!解解我的疑惑
展开
 我来答
20072113
2012-09-28 · TA获得超过248个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:230万
展开全部

//#include "stdio.h"

#include<stdio.h>

int main(int argc, char* argv[])

{

 int a=0,b=0,c=0,d=0,e=0;

 printf("Enter a dollar amount:");

 scanf("%d",&a);

 if(a>=20)             

 {

  b=int(a/20);

  a=a-b*20;

 }

 if(a>=10&&a<20)

   {

  c=int(a/10);

  a=a-c*10;

 }

  if(a>=5&&a<10)

   { 

  d=int(a/5);

  a=a-d*5;

   }

    if(a<5&&a>0)

   { 

     e=a;

  a=a-e;

   }

   printf("$20 bills:%d\n",b);

   printf("$10 bills:%d\n",c);

   printf("$5 bills:%d\n",d);

 printf("$1 bills:%d\n",e);

 return 0;

 

shark_1980
推荐于2017-11-25 · TA获得超过4924个赞
知道小有建树答主
回答量:1096
采纳率:100%
帮助的人:403万
展开全部
#include <stdio.h>
void main()
{
int payment;
int S20,S10,S5,S1;

printf("Enter a dollar amount:");
scanf("%d",&payment);
fflush(stdin);

//payment=93;
S20=payment/20; //需要几个20$的大钞
S10=(payment%20)/10; //剩下的零头看需要几个10$的钞票
S5 =(payment%10)/5; //不足10$的零头需要几个5$的钞票
S1 =payment%5; //。。。只所以可以这样做是因为1,5,10,20恰好存在倍数的关系

printf("Payment %d need: $20x%d, $10x%d, $5x%d, $1x%d\n",payment,S20,S10,S5,S1);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
notverycool
2012-09-29
知道答主
回答量:14
采纳率:0%
帮助的人:2.1万
展开全部
#include "stdafx.h"
#include<stdio.h>
int main(int argc, char* argv[])
{
int bill;
int par[4]={20,10,5,1};

int result[4];

printf("Enter a dollar amount:");
scanf("%d",&bill);
for(int i=0;i<4;i++)
{
result[i]=bill/par[i];

printf("printf("$%d bills:%d\n",par[i],result[i]);

bill%=par[i];

}
}

该程序适合现有人民币和美元。如果有一个国家的人民币包括20 15 10 5 几种面值,则程序失效。
另外,劝楼主养成编程的好习惯,尽量不要起并非显而易见的变量名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友648136e
2018-01-04
知道答主
回答量:3
采纳率:0%
帮助的人:2.3万
展开全部
#include <stdio.h>

int main(void)
{
int amount;
printf("Enter a dollar amount: ");
scanf("%d", &amount);
printf("$20 bills: %d\n", amount / 20);
amount = amount % 20;
printf("$10 bills: %d\n", amount / 10);
amount = amount % 10;
printf("$5 bills: %d\n", amount / 5);
amount = amount % 5;
printf("$1 bills: %d\n", amount / 1);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式