银行换零钱。假定你拿1张百元钞票到银行换零,要求是必须换成若干张20元、10元和5元。请编写程序 15

找出所有可能的找零组合,如1张20元,5张10元,6张5元... 找出所有可能的找零组合,如1张20元,5张10元,6张5元 展开
 我来答
一叹t
高能答主

2021-01-06 · 我们不创作,我们只是信息的搬运工。
一叹t
采纳数:2139 获赞数:11996

向TA提问 私信TA
展开全部

从问题的角度分析我们可以用三重循环来就求解答案。但是我们可以优化我们的循环。因为20元的最多有5张,10元的最多有10张,5元的最多有20张。同时我们求出20元的和10元的张数,进而设计出算法。

程序运行的部分结果为0张20元,0张10元,20张5元、0张20元,1张10元,18张5元、0张20元,2张10元,16张5元、0张20元,3张10元,14张5元、0张20元,4张10元,12张5元、0张20元,5张10元,10张5元、1张20元,5张10元,6张5元。

#include<stdio.h>

int main(){

    int x=0,ten=0,five=0;

    int count=100;

    for(x=0;x<=5;x++){

        for (ten=0;ten<=10;ten++){

            for(five=0;five<=20;five++){

                if((x*20+ten*10+five*5)==count){

                    printf("%d张20元,%d张10元,%d张5元\n",x,ten,five);

                }

            }

        }

    }

}

扩展资料:

循环结构可以减少源代码重复书写的工作量,用来书写某段重复执行算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环。

一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误。

特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。

for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)。

常见的两种循环结构:

①当型循环:先判断所给条件p是否成立,若p成立,则执行A(步骤);再判断条件p是否成立;若p成立,则又执行A,若此反复,直到某一次条件p不成立时为止。

②直到型循环:先执行A,再判断所给条件p是否成立,若p不成立,则再执行A,如此反复,直到p成立,该循环过程结束。

scpopo
2011-11-10 · 超过28用户采纳过TA的回答
知道答主
回答量:122
采纳率:100%
帮助的人:66.2万
展开全部
设 20的为a 10块的 为b 5块的为c
20a+10b+5c=100 a b c 属于N
追问
这位哥们,俺C语言没听课。。。现在来不及看咧 能帮我把整个程序写出来嘛?
追答
我也好久不上课了。。。忘记具体怎么写了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式