C语言循环输出没有数字。。。

#include "stdio.h"
main()
{int x,y,sum,s,cha;
for(x=0;x<=100;x++)
{for(y=0;y<=100;y++)
sum=x+y;s=x*y;
cha=x-y;
if(s==6*sum&&-8<=cha&&cha<=8)
if(x>y)
printf("%d\n",y);

}

}

建议编写代码有一个较好的习惯,同时对自己要实现的目的比较明确,以下是正确代码:
#include "stdio.h"
int main()
{
int x,y,sum,s,cha;
for(x=0;x<=100;x++)
{
for(y=0;y<=100;y++)
{
sum=x+y;
s=x*y;
cha=x-y;
if(s==6*sum&&-8<=cha&&cha<=8)
{
printf("x=%d and y=%d\n",x,y);
if(x>y)
printf("%d\n",y);
}
}
}
}
可以得到正确结果:
图片说明

这个确实是没有值,要么你逻辑错了,还有一个建议就是for循环和if尽量把花括号加上
if(s==6*sum&&-8<=cha&&cha<=8)这个判断意思就是s==6*sum,并且cha>=-8,并且cha<=8,&& 这个符号是判断条件是有一个不成立就为假
内循环加一对花括号,
main()
{
int x,y,sum = 0,s = 0,cha;
for(x=0;x<=100;x++)
{
for(y=0;y<=100;y++)
{
sum=x+y;//1
s=x*y;//0
cha=x-y;//-1
if(s==6*sum &&-8<=cha&&cha<=8)
if(x>y)
System.out.println(y);
}
}
}

我就想下载一个资源 赚下C

别的不多说,首先说一下这个格式,看着就混乱,推荐看一下《C语言深度剖析》

if(s==6*sum&&-8<=cha&&cha<=8)
if(x>y)
printf("%d\n",y);
哪有这样写的?
看见代码就没有想往下看的欲望,还怎么查问题,自己能把自己恶心死

if(s==6*sum&&-8<=cha&&cha<=8)
if(x>y)
printf("%d\n",y);
哪有这样写的?
看见代码就没有想往下看的欲望,还怎么查问题,自己能把自己恶心死