小缪丶 2021-10-16 19:43 采纳率: 100%
浏览 40
已结题

请教C++中for循环相关问题

经典搬砖问题:现有n块砖,要由n个人一次搬完,假定男人一次可以搬4块,女人一次可以搬3块,两个小孩可以一起搬1块,计算这n人中男人、女人和小孩的人数。
要求如下:用户输入人数和砖数n,程序输出可能的解决方案。如果没有满足的情况,显示提示信息“无解!”。输出格式见样例,有多组方案时,按男人数量从多到少的顺序输出。男人数量相同时,女人数量从少到多。

我写的代码如下:

#include<iostream>
using namespace std;
int main()
{
    int n,m,f,c,i=1;
    cout << "请输入人数和砖数n=";
    cin >> n;
    for(m=n;m>=0;m--)
    {
        for(f=n;f>=0;f--)
        {
            c = (n-4*m-3*f)*2;
            if(c%2==0 && m+f+c==n)
            {
                cout << "男" << m << "女" << f << "孩" << c << endl;
                i++; 
            }
        }
    }
    if(!i)
    {
        cout << "无解!" << endl;
    }
    return 0;
}

可是我输入n=1时并没有输出”无解“,想必是在循环中没有出来,请教各位应该如何解决呢?

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2021-10-16 19:48
    关注

    你把i初始化为1了啊,循环里只有i++,那i永远大于0,自然if(!i)永远不成立。
    i初始化为0就行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿