C++百钱买百鸡问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:26:17
#include <iostream.h>
#include <stdio.h>

int main()
{
int x,y,z;
for (x=20;x<20;x--)
{for(y=33;y<33;y--)
{for(z=300;z<300;z--)
{
if (5*x+3*y*z/3==100)
cout<<x<<" "<<y<<" "<<z;
}
}
}
return 0;
}

为什么我编出来的程序什么都不显示!

#include <iostream.h>
#include <stdio.h>

int main()
{
int x,y,z;
for (x=20;x>0;x--) //这行有修改
{for(y=33;y>0;y--) //这行有修改
{for(z=300;z>0;z=z-3) //这行有修改,这里小鸡必须是3的倍数才行。
{
if (5*x+3*y+z/3==100) //这行有修改
cout<<x<<" "<<y<<" "<<z<<endl;
}
}
}
return 0;
}

#include <iostream>
using namespace std;
int main(){
int i,j,k;
for(i=0;i<=20;i++)
{
for(j=0;j<=33;j++)
{
for(k=0;k<=300;k++)
{
if((5*i+3*j+(1/3.0)*k==100)&&(i+j+k==100))
cout<<i<<'\t'<<j<<'\t'<<k<<'\t'<<endl;
}
}
}
}

for (x=20;x<20;x--)
{for(y=33;y<33;y--)
{for(z=300;z<300;z--)
相当于你一遍都没有执行下面的语句,因为判断后直接退出,x=20和x<20能同时满足吗?

x,y,z只是变量,你没有加以