c语言问题,头痛啊,那个师父来帮忙看看!

来源:百度知道 编辑:UC知道 时间:2024/05/31 11:45:08
c语言设计公鸡五文钱一只,母鸡三文钱一只,雏鸡三只一文钱,现有一百文能买多少?
#include "stdio.h"
void main()
{
int a,b,c;
while (a<=19)
{hens=0;
while(b<=33)
{c=100-a-b;
if(5.0*a+3.0*b+c/3.0=100.0)
printf("%d,%d,%d\n",a,b,c);
b++;
}
a++;
}
}
顺便拜师啊,自学这个东西似乎很有难度 呵呵!
我不是要答案和别的算法 就是看看我这个算法哪里出错 怎么修改 谢谢楼下的兄弟了!

第一个:你a,b,c没有附初值,你没有初值,b++,a++就没有意义。
第二个:hens=0根本就没有用到。
第三个:b<=33,看你a<=19,题意应该是叫你全买,既然是全买就不可能是
33,而是b<=31。
第四个:5.0*a+3.0*b+c/3.0=100.0。应该是==,你这是赋值。
还有你printf中最好是用空格,不要用逗号。
还又你c一定要写明白是3的倍数,可以用if(c%3==0)
你再试试看。。。。。

hens 没声名此变量,没看明白这是干什么用的。

if(5.0*a+3.0*b+c/3.0=100.0)
应该改为
if(5.0*a+3.0*b+c/3.0==100.0)

另外,a,b没赋初值。

你的hens没初始化
你的代码挺熟悉
改了几个变量
但却了重要的东西

那100是总钱数,用钱数-鸡数=?;我真的不知道,是不是写错了?

1。符号hens没定义
2。a,b,c没有赋初始值,有可能一上来abc的值就超过100了
3。“if(5.0*a+3.0*b+c/3.0=100.0) ”应该用“==”,“=”是赋值号,不能用来判断是否相等。

hens改成b,a设初值