当前位置: 代码迷 >> C语言 >> 何解?????????
  详细解决方案

何解?????????

热度:81   发布时间:2005-09-26 02:15:00.0
何解?????????
mani()
  {int n,m,i,j,l=0;
  scanf("%d",&m);
  for(n=2;n<=m;n++)
    {i=sqrt(n);
    for(j=2;j<=i;j++)
        if(!(n%j))break;
    if(j>=i+l)
       if(l<5)
        {printf("%d",n);
         l++;
         }
    else
      {printf("%d\n",n);
       l=0;
       }
     }
}
上面的    if(j>=i+l)    该怎么理解???????    break应该跳到哪条语句??????
谢谢!!!!!!!!!!
----------------解决方案--------------------------------------------------------
if(j>=i+l)    先计算i+1的值,然后判断j是否大于或等于i+1

break与离他最近的for语句相连,跳到下一条,即执行if(j>=i+l)
----------------解决方案--------------------------------------------------------
我是想问它同上下的关系~~~~~~~~~
----------------解决方案--------------------------------------------------------
if(j>=i+l)
  包含在for(n=2;n<=m;n++)里啊
和for(j=2;j<=i;j++)
        if(!(n%j))break没关系的
----------------解决方案--------------------------------------------------------
感觉这个程序少了点什么,不会就这么多吧,也不知是干嘛用的,小弟蔡鸟也不懂!!
----------------解决方案--------------------------------------------------------
除了别人有说过的,还少了个<math.h> 的头文件
----------------解决方案--------------------------------------------------------
  相关解决方案