求教高手:C语言编程没有错,但无法显示结果是怎么回事?

程序是这样的:
#include<stdio.h>
void main()
{int a=0, s, m;
while(a<=19);
{s=0;
while(s<=33);
{m=100-a-s;
if (5.0*a+3.0*s+m/3.0==100.0);
printf("%d,%d,%d\n",a,s,m);
}
s++;
}
a++;
}

#include<stdio.h>
void main()
{int a=0, s, m;
while(a<=19)
{s=0;
while(s<=33)
{m=100-a-s;
if (5.0*a+3.0*s+m/3.0==100.0);
printf("%d,%d,%d\n",a,s,m);
s++;
}

a++;
}

}

注:1)while后面的;去掉
2)a++和s++你是不是位置写错了,写在外面没有什么意义啊!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-13
#include<stdio.h>
void main()
{
int a=0, s, m;
double d0=0;
while(a<=19) //while语句后面带分号,导致程序在满足条件时一直啥也不干,停在这里
{
s=0;
while(s<=33)
{
m=100-a-s;
//if (5.0*a+3.0*s+m/3.0==100.0) 符点数不要这样比较,有可能会丢失数据
d0=5.0*a+3.0*s+m/3.0-100 ;
if ( d0 >= -0.0001 && d0<= 0.0001 )
printf("%d,%d,%d\n",a,s,m);
s++;
}
a++;
}
}
第2个回答  2011-10-13
while 后面的分号确实要去掉,要不然这个while没有价值的,
第3个回答  2011-10-13
while后面有个分号去掉
第4个回答  2011-10-13
有非法符号 我以前遇到过
相似回答
大家正在搜