鱼C论坛

 找回密码
 立即注册
查看: 2618|回复: 8

[已解决]牛吃草问题

[复制链接]
发表于 2020-1-22 10:34:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么把        x=a*3+b*2+c*0.5 提出来就不对呢
#include<stdio.h>
int main()
{
        int a,b,c,id=1,x;
        printf("         公牛           母牛           小牛\n");
        x=a*3+b*2+c*0.5;
        for(a=0;a<=33;a++)
        {
                for(b=0;b<=50;b++)
                {
                        for(c=0;c<=100;c++)
                        {
                                if(a+b+c==100&&x==100)
                                {
                                        printf("Case %d:   %d              %d              %d\n",id++,a,b,c);
                                }
                        }
                }
        }
        return 0;
}
最佳答案
2020-2-5 02:27:40
我放在csdn博客上-牛吃草   
牛吃草
1你把x赋值语句提到for的前面;此时程序执行到x语句;但a,b,c的值系统不知道肯定无法赋值,printf语句显示x的值为乱码
你试下单独运行这几串代码
int a,b,c,id=1,x;

        printf("         公牛           母牛           小牛\n");
         x=a*3+b*2+c*0.5 ;
         printf("%ld \t",a) ;
2所以正确的是 把x赋值语句放到c++ 那行下面,让a和b和c都有值是进行运算 赋值给x
见下图
int a,b,c,id=1,x;

        printf("         公牛           母牛           小牛\n");
        for(a=0;a<=33;a++)
        {
                for(b=0;b<=50;b++)
                {
                        for(c=0;c<=100;c++)
                        {
                           x=a*3+b*2+c*0.5 ;
                               if(a+b+c==100&&x==100)
                                {
                                        printf("Case %d:   %d              %d              %d\n",id++,a,b,c);
                                }
                        }
                }
        }


这么坑爹不能上传图片,不然表达不够清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-22 10:43:26 | 显示全部楼层
你的c是int 型的,乘以0.5结果应该会出错,你试试将c定义为float类型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-1-22 13:41:53 | 显示全部楼层
这啥,我复制到编译器只会打印那几个牛的汉字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-28 15:50:17 | 显示全部楼层
何止喜欢 发表于 2020-1-22 10:43
你的c是int 型的,乘以0.5结果应该会出错,你试试将c定义为float类型

我试过了,还是不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-28 15:50:58 | 显示全部楼层
法克鱿 发表于 2020-1-22 13:41
这啥,我复制到编译器只会打印那几个牛的汉字

可能代码有错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-3 15:09:03 | 显示全部楼层
chataigne 发表于 2020-1-28 15:50
我试过了,还是不行

我也试了,不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-4 23:34:20 | 显示全部楼层
这是c语言吧???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-5 02:27:40 | 显示全部楼层    本楼为最佳答案   
我放在csdn博客上-牛吃草   
牛吃草
1你把x赋值语句提到for的前面;此时程序执行到x语句;但a,b,c的值系统不知道肯定无法赋值,printf语句显示x的值为乱码
你试下单独运行这几串代码
int a,b,c,id=1,x;

        printf("         公牛           母牛           小牛\n");
         x=a*3+b*2+c*0.5 ;
         printf("%ld \t",a) ;
2所以正确的是 把x赋值语句放到c++ 那行下面,让a和b和c都有值是进行运算 赋值给x
见下图
int a,b,c,id=1,x;

        printf("         公牛           母牛           小牛\n");
        for(a=0;a<=33;a++)
        {
                for(b=0;b<=50;b++)
                {
                        for(c=0;c<=100;c++)
                        {
                           x=a*3+b*2+c*0.5 ;
                               if(a+b+c==100&&x==100)
                                {
                                        printf("Case %d:   %d              %d              %d\n",id++,a,b,c);
                                }
                        }
                }
        }


这么坑爹不能上传图片,不然表达不够清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-12 20:41:42 | 显示全部楼层
shimida 发表于 2020-2-5 02:27
我放在csdn博客上-牛吃草   
牛吃草
1你 ...

好的谢谢!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 21:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表