牛吃草问题
为什么把 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;
}
你的c是int 型的,乘以0.5结果应该会出错,你试试将c定义为float类型 这啥,我复制到编译器只会打印那几个牛的汉字
{:9_230:} 何止喜欢 发表于 2020-1-22 10:43
你的c是int 型的,乘以0.5结果应该会出错,你试试将c定义为float类型
我试过了,还是不行 法克鱿 发表于 2020-1-22 13:41
这啥,我复制到编译器只会打印那几个牛的汉字
可能代码有错 chataigne 发表于 2020-1-28 15:50
我试过了,还是不行
我也试了,不行
这是c语言吧???
{:10_250:}{:10_257:}{:10_257:}{:10_257:}{:10_257:}{:10_254:}我放在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);
}
}
}
}
这么坑爹不能上传图片,不然表达不够清楚
shimida 发表于 2020-2-5 02:27
我放在csdn博客上-牛吃草
牛吃草
1你 ...
好的谢谢!!!
页:
[1]