当前位置: 代码迷 >> C语言 >> 一个超出本人理解范围的问题~
  详细解决方案

一个超出本人理解范围的问题~

热度:122   发布时间:2005-07-30 21:04:00.0
一个超出本人理解范围的问题~
一个简单的作业题,但在tc下运行时没有结果,不知道怎么回事?或者是程序错了,

请高手指点一下,谢谢~

#include<math.h>

main()

{int m,n;

float r;

int swap(int x);

for(m=99;m<=2;m--)

{if(swap(m)==0)

  for(n=2;n<m;n++)

  {if(swap(n)==0)

  r=(float)n/(float)m;

  if(r>1/6&&r<1/5)

  printf("%.4f",r);

  }

}

}

int swap(int x)

{int y,z,i;

y=sqrt(x);

for(i=2;i<=y;i++)

if(x%i==0) break;

if(i>y) z=0;

else z=1;

return z;

}

搜索更多相关的解决方案: 范围  

----------------解决方案--------------------------------------------------------
for(m=99;m<=2;m--)

这句就错了,循环永远不循环,请说明你这个程序的目的
----------------解决方案--------------------------------------------------------
for(i=2;i<=y;i++)  循环过后 一定有 i<=y;
if(i>y)   显然不能足这个条件 只能执行 else z=1;  返回结果非零
if(swap(m)==0)  不成立 那么下面的都不执行了
当然不能输出结果了


----------------解决方案--------------------------------------------------------
哦  看错了  楼住的程序好像是找出两个商在1/6和1/5之间素数吧
----------------解决方案--------------------------------------------------------
  相关解决方案