回 帖 发 新 帖 刷新版面

主题:在编译器Dev-c++的控制台模式编译里运行程序

#include <stdio.h> 
 main()
{int a,b,c,y;

     printf("input y:\n");
     scanf("%d",&y);
     for(a=0;a>=0&&a<=y;a++)
{
    for(b=0;b>=0&&b<=y;b++)
    {
    c=8-a-b;
     if(a+2.0*b+5.0*c==y)
    printf("%d %d %d\n",a,b,c);
     
   b=b+1; }
   a=a+1;}

}这个程序输不出a,b,c的值,为什么,怎么改,谢谢了

回复列表 (共3个回复)

沙发

循环结束条件完全不用那个a>=0的……
另外,你的那个判断让我很看不懂,把int型转化成float型计算,然后结果还要跟int型作比较,是要做什么呢?
另外,你确定你的输入在整数范围内有解嘛?

板凳

输入的y也是整型的,如果if里的条件满足就输出abc的值,我知道哪里错了,谢谢了。

3 楼

对于那个if语句里的判断条件,不要做无谓的类型转换,这样只能增加出错的可能性
一点个人建议

我来回复

您尚未登录,请登录后再回复。点此登录或注册