一道c语言作业题,不会做,帮帮忙给说说思路也行啊,谢谢

目前人民币共有以下几种面值(不包括角和分):1元,2元,5元,10元,20元,50元,100元编写一个函数计算金额X需要多少张面值为n元的纸币,在主函数中输入一个金额值,... 目前人民币共有以下几种面值(不包括角和分):
1元,2元,5元,10元,20元,50元,100元
编写一个函数计算金额X需要多少张面值为n元的纸币,在主函数中输入一个金额值,调用该函数,计算组成该金额最少需要多少张纸币。
首先谢谢大家的帮助,不过题上说计算金额X需要多少张面值为n元的纸币,老师给我们的要求是要算出n的确切的值,并且计算这个n为几时纸币数量最小,比如150元就是最少需要一张100元一张50元的两张纸币。也不知道我说清楚了没有,谢谢
展开
 我来答
wuming0214
2006-12-06 · TA获得超过417个赞
知道小有建树答主
回答量:524
采纳率:0%
帮助的人:613万
展开全部
楼主的意思是不是想输入一个金额,然后找出至少用几张纸币?再算出这几张纸币的是那几张是吧?如果是这样的话,那很简单就可以处理了,拿到金额,然后就先跟100比较,若是比100大,那一定有一张是100的,然后-100,记下100的张数,再比较,这样循环,等到比100小的时候再跟50比较,类似下去.最后比出来的一定是最少的张数.然后再把每种金额的张数给打印出来.就OK了.我给你写段吧,调试通过了:
#include <stdio.h>
#include <math.h>

void RMB(int n)
{
int arr[7]={0};
int m=0;
while(n>=100)
{
n=n-100;
arr[0]++;
m++;
}
while(n>=50)
{
n=n-50;
arr[1]++;
m++;
}
while(n>=20)
{
n=n-20;
arr[2]++;
m++;
}
while(n>=10)
{
n=n-10;
arr[3]++;
m++;
}
while(n>=5)
{
n=n-5;
arr[4]++;
m++;
}
while(n>=2)
{
n=n-2;
arr[5]++;
m++;
}
while(n>=1)
{
n=n-1;
arr[6]++;
m++;
}
if(n!=0)
{
printf("\n输入的金额只能为正整数\n");
}
else
{
printf("\n最少需要%d张纸币,如下所示\n\n",m);
printf("100元:%d张,50元:%d张,20元:%d张,10元:%d张,5元:%d张,2元:%d张,1元:%d张\n",arr[0],arr[1],arr[2],arr[3],arr[4],arr[5],arr[6]);
}

}
void main()
{
int n;
printf("请输入金币金额:");
scanf("%d",&n);
RMB(n);
}
jetmanbaba
2006-12-06 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1583
采纳率:0%
帮助的人:2077万
展开全部
这题应该是一个整除求余,统计整除次数的题目

void main(int x)
{
int MoneyArray[] = {100, 50, 20, 10, 5, 2, 1};
int MoneyCount[] = {0, 0, 0, 0, 0};

for(int i = 0; i < 7; i ++)
{
MoneyCount[i] = x / MoneyArray[i];
x = x % array[i];
}
for(i = 0; i < 7; i ++)
{
//如果不要显示不找的金额的话在加一个判断 就好了if(MoneyCount[i] != 0)
printf("$%d:%d\n", MoneyArray[i], MoneyCount[i]);

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liantianfeixue
2006-12-06 · TA获得超过1391个赞
知道小有建树答主
回答量:926
采纳率:0%
帮助的人:464万
展开全部
用整出,取余数,一级一级的酸不就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lynodia
2006-12-06 · TA获得超过124个赞
知道答主
回答量:94
采纳率:0%
帮助的人:0
展开全部
楼上正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式