当前位置: 代码迷 >> C语言 >> 求助:我的程序为什么有错误啊?(百鸡问题) 谢!~~
  详细解决方案

求助:我的程序为什么有错误啊?(百鸡问题) 谢!~~

热度:121   发布时间:2008-02-20 00:19:41.0
求助:我的程序为什么有错误啊?(百鸡问题) 谢!~~
main()
{
int gong,mu,xiao;
for(gong=0;gong<20;gong++)
   {
    for(mu=0;mu<34;mu++)
       {
        xiao=100-gong-mu;
        if(5*gong+3*mu+xiao/3=100)
        printf("%d%d%d",gong,mu,xiao);
        }
    }
getch();
}

运行后有错误,请大家帮忙指导下。
----------------解决方案--------------------------------------------------------
main()
{
int gong,mu,xiao;
for(gong=0;gong<20;gong++)
   {
    for(mu=0;mu<34;mu++)
       {
        xiao=100-gong-mu;
        if(5*gong+3*mu+xiao/3=100)
        printf("%d%d%d",gong,mu,xiao);
        }
    }
getch();
}

这句有错误,原因是“=”为赋值符号,不是数学中的等于号。句尾也少了个“;”。

改为:if(5*gong+3*mu+xiao/3==100);

另外最后一句输出格式有点乱,可以改为:

printf("gong=%d\nmu=%d\nxiao=%d\n",gong,mu,xiao);

[[it] 本帖最后由 广陵绝唱 于 2008-2-20 00:47 编辑 [/it]]
----------------解决方案--------------------------------------------------------
感谢楼上的,赋值符号平时看似不注意,但实际中还真出错了。我以后肯定要多加注意了。谢谢。

此外,if语句后不用加分号“;”吧?
----------------解决方案--------------------------------------------------------
确实输出的时候乱的很,我认真的完善了一遍我的程序,感谢2楼的兄弟

main()
{
int gong,mu,xiao;
for(gong=0;gong<20;gong++)
   {
    for(mu=0;mu<34;mu++)
       {
        xiao=100-gong-mu;
        if(5*gong+3*mu+xiao/3==100)
        printf("gong=%3d mu=%3d xiao=%3d\n",gong,mu,xiao);

        }
    }
getch();
}
----------------解决方案--------------------------------------------------------
LS,很对不起,让您见笑了。

我也正在学习中,我们共同学习罢。

偶也谢谢您。
----------------解决方案--------------------------------------------------------
  相关解决方案