请各位帮看看,一个初学者遇到的小问题!--百钱买百鸡
百钱买百鸡的问题,编了个程序,编译成功,但无法出现结果,光标一闪一闪的,啥也没有。#include<stdio.h>
int main()
{
int x,y,z;
for(x=1;x<=19;x++)
{
for(y=1;y<=33;y++)
z=100-x-y;
if(5*x+3*y+z/3==100)
printf("%d,%d,%d",x,y,z);
}
}
试了多次,也改了多次,就是无法运行结果。教材上的是IF语句,可以运行,结果正确。
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main()
{
int x,y,z;
for(x=1;x<=19;x++)
{
for(y=1;y<=33;y++)
{//这里加个括号
z=100-x-y;
if(5*x+3*y+z/3==100)
printf("%d,%d,%d",x,y,z);
}//这里加个括号
}
}
----------------解决方案--------------------------------------------------------
谢谢斑竹!
按照斑竹的提示,改了下,发现运行结果错误,后又把程序改动一下:
#include<stdio.h>
int main()
{
int x,y,z;
for(x=1;x<=19;x++)
{
for(y=1;y<=33;y++)
{
z=100-x-y;
if(5.0*x+3.0*y+z/3.0==100.0)
printf("%d,%d,%d\n",x,y,z);
}
}
}
现经测试,成功!!!!!
谢谢!!!
----------------解决方案--------------------------------------------------------
哦哦,我没调试过,不好意思
不过你这样改是不行的,鸡都是整只的,不能按浮点数来算,而且浮点数的比较,也不能用==
我改成了这样
#include<stdio.h>
int main()
{
int x,y,z;
for(x=1;x<=19;x++)
{
for(y=1;y<=33;y++)
{
z=100-x-y;
if(z%3!=0)continue;
if(5*x+3*y+z/3==100)
printf("%d,%d,%d\n",x,y,z);
}
}
return 0;
}
int main()
{
int x,y,z;
for(x=1;x<=19;x++)
{
for(y=1;y<=33;y++)
{
z=100-x-y;
if(z%3!=0)continue;
if(5*x+3*y+z/3==100)
printf("%d,%d,%d\n",x,y,z);
}
}
return 0;
}
VC6运行结果:
4,18,78
8,11,81
12,4,84
Press any key to continue
8,11,81
12,4,84
Press any key to continue
----------------解决方案--------------------------------------------------------
初来还不是很明白?????????
----------------解决方案--------------------------------------------------------
时间长了就明白了
----------------解决方案--------------------------------------------------------
同意楼上兄弟观点啊.你可以把论坛里面别人已经写好的东西复制粘贴.看看别人的程序,也可以把错的程序自己改有助于提高....
----------------解决方案--------------------------------------------------------