请各位大神指点一下小菜鸟为什么得到的结果中素数会多一个4?

作者在 2015-05-27 22:35:35 发布以下内容
#include<stdio.h>
void main()//素数判定:从键盘输入n(n>=2)的值,输出所有小于等于n的素数及素数的个数
{          //出现问题:素数输出不正确,例如输入n=9时,输出素数应该为2,3,5,7;但是实际输出为2,3,4,5,7
  int i,j,n,count=0;


  printf("Input n:");
  scanf("%d",&n);
  printf("n=%d\n",n);
  for(i=2;i<=n;i++)
  { 
 for(j=2;j<=i/2;j++)
 
 if(i%j==0) break;
 
 if(j>=i/2) 
  {
     printf("%4d\n",i);
 count++;
 if(count%10==0) 
 printf("\n");
  }
 
  

    printf("count=%d\n",count);
}

默认分类 | 阅读 840 次
文章评论,共1条
编程小菜鸟儿(作者)
2015-05-28 20:45
1
 if(j>=i/2) 将其改成if(j>i/2)就可以了
游客请输入验证码
文章分类
文章归档