求救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这一行
那程序怎么修改一下才能实现?
求救高手啊!解解我的疑惑 展开
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这一行
那程序怎么修改一下才能实现?
求救高手啊!解解我的疑惑 展开
4个回答
展开全部
//#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;
}
展开全部
#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);
}
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);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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 几种面值,则程序失效。
另外,劝楼主养成编程的好习惯,尽量不要起并非显而易见的变量名。
#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 几种面值,则程序失效。
另外,劝楼主养成编程的好习惯,尽量不要起并非显而易见的变量名。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询