标题:一个超出本人理解范围的问题~
只看楼主
jbt5006
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-7-28
 问题点数:0 回复次数:3 
一个超出本人理解范围的问题~
一个简单的作业题,但在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;

}

搜索更多相关主题的帖子: 范围 
2005-07-30 21:04
anycall628
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2005-2-18
得分:0 
for(m=99;m<=2;m--)

这句就错了,循环永远不循环,请说明你这个程序的目的

爱生活,爱编程。
2005-07-30 21:54
shmilysw
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2005-7-11
得分:0 
for(i=2;i<=y;i++)  循环过后 一定有 i<=y;
if(i>y)   显然不能足这个条件 只能执行 else z=1;  返回结果非零
if(swap(m)==0)  不成立 那么下面的都不执行了
当然不能输出结果了

2005-07-30 22:05
shmilysw
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2005-7-11
得分:0 
哦  看错了  楼住的程序好像是找出两个商在1/6和1/5之间素数吧
2005-07-30 22:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-24013-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.709914 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved