暮雨清秋.L 2022-10-02 15:24 采纳率: 50%
浏览 110

人名币兑换将一块5角转换为分的数目,详情见帖子最下方

有一个测试不正确
#include<stdio.h>
int main(void)
{
    int n, fen5, fen2, fen1 = 0, i = 0;
    scanf("%d", &n);
    while (i <= n)
    {
        for (fen5 = 1; fen5 * 5 < 150; fen5++)
        {
            for (fen2 = 1; 150 - fen5 * 5 - fen2 * 2 > 0; fen2++)
            {

               for(fen1=1;fen1<98;fen1++)
                {
                    if (fen5*5+fen2*2+fen1==150&&fen5 + fen2 + fen1 == 100)
                    {
                        printf("%d %d %d\n", fen5, fen2, fen1);
                        i++;
                        if(fen5==29&&fen2==2&&fen1==2)
                            goto loop;
                        if (i < n)
                            break;
                        if(i==n)
                            goto loop;
                    }
                }

            }

        }

    }
loop:
    return 0;
}

img

的解答思路和尝试过的方法 :就嵌套循环啊,找不到问题在哪

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

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

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

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

  • 写回答

3条回答 默认 最新

  • X-道至简 2022-10-02 16:23
    关注

    for (fen2 = 1; 150 - fen5 * 5 - fen2 * 2 > 0; fen2++)
    把这句话改成
    for (fen2 = 1; fen2 < 50; fen2++) 试试
    下面有 fen55+fen22+fen1==150&&fen5 + fen2 + fen1 == 100 这个控制了,感觉保持一致会不太容易错

    评论

报告相同问题?

问题事件

  • 创建了问题 10月2日

悬赏问题

  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥20 spring boot集成mqtt的使用问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错