完美物联拖欠工资:编程百钱买百鸡问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 13:57:29
这个编程有什么问题,谢谢
main()
{int a,b,c;
for (a=0; a<=20; a++)
{for(b=0; b<=33; b++)}
{c=100-a-b;
if(3*b+5*a+c/3.0==100)
printf("gongji%dzhi,muji%dzhi,xiaoji%dzhi\n",a,b,c);
}
}
getchar();
getchar();
}

您忘了#include <conio.h>了,如果在c++编译器中应该还要#include<stdio.H>,还有一个地方您多加了},不该用两次getchar(),一次就行,最好用getch().
所以完整程序如下:
#include <stdio.h>
#include <conio.h>
main()
{
int a,b,c;
for (a=0; a<=20; a++)
{
for(b=0; b<=33; b++)
{ c=100-a-b;
if(3*b+5*a+c/3.0==100)
printf("gongji%dzhi,muji%dzhi,xiaoji%dzhi\n",a,b,c);
}
}
getch();
}
输出如下,不知对否?
gongji0zhi,muji25zhi,xiaoji75zhi
gongji4zhi,muji18zhi,xiaoji78zhi
gongji8zhi,muji11zhi,xiaoji81zhi
gongji12zhi,muji4zhi,xiaoji84zhi

main()
{int a,b,c;
for (a=0; a<=20; a++)
{for(b=0; b<=33; b++)
{c=100-a-b;
if(3*b+5*a+c/3.0==100)
printf("gongji%dzhi,muji%dzhi,xiaoji%dzhi\n",a,b,c);
}
}
}
getchar();
getchar();
}

#include <stdio.h》
void main()
{
int a,b,c;
for (a=0; a<=20; a++)
{ for(b=0; b<=33; b++)
{ c=100-a-b;
if(3*b+5*a+c/3.0==100)
printf("公鸡%d,母鸡%d,小鸡%d\n",a,b,c);
}
}
}

3.0 比较精确,可能无解
改成3
就是整除 4/3等于1 5/3也等于1
所以这样会不精确

还有就是{}问题
楼主看来是新手
for (a=0; a<=20; a++)
{for(b=0; b<=33; b++)}
{c=100-a-b; 看看这句话吧(多个}号)

应该是C/3,不是3.0

c/3.0??那不是有0.3只鸡啦???