7-101 人民币兑换

1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。

输入格式:

输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照5分硬币从少到多排列的。

输出格式:

显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。

注意:如果全部方案不到n种,就顺序输出全部可能的方案。

输入样例:

5

输出样例:

1 46 53  
2 42 56  
3 38 59  
4 34 62  
5 30 65

此题的难点是格式,① “拼题网”上要求输出的每种方案后面有两个空格,但是最后一个方案后面不能有空格,②同时如果全部方案不到n种,就按顺序输出全部方案,空格要求与①一致。

虽然从运行结果来看我的代码都符合要求,但是提交答案的时候还是提示我格式错误,有没有高手指点一下?

#include<stdio.h>
int main()
{
    int n, wu, er, yi, count=0;    //wu五分个数,er二分个数,yi一分个数
    scanf("%d", &n);
    for(wu=1; wu<=n; wu++){
        for(er=1; er<=(150-5*wu-1)/2; er++){
            yi=100-wu-er;
            if(wu*5+er*2+yi==150){
                count++;
                if(n<=12){//将代码运行发现最多只有12种方案,故讨论小于12和大于12时,应如何输出
                    if(count<n) printf("%d %d %d  \n", wu, er, yi);
                    else printf("%d %d %d", wu, er, yi);
                }else{
                    if(count<12) printf("%d %d %d  \n", wu, er, yi);
                    else printf("%d %d %d", wu, er, yi);
                }
            }
        }
    }return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wanwanxiaobai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值