判断素数时始终无法排除1或者2?
我写的程序如下:#include<stdio.h>
#include<math.h>
int main(void)
{
int n,i;
double k;
printf("Enter正整数n:");
scanf("%d",&n);
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0) break;
if(i>k)
printf("%d是素数\n",n);
else printf("%d不是素数\n",n);
return 0;
}
这个程序无法排除1,运行时输入1,结果为:1是素数。我把语句修改为k=sqrt(n+1);可以排除1了,但是却无法排除2,结果为:2不是素数。请问我如何修改?