这个求素数的程序错在哪了?

来源:百度知道 编辑:UC知道 时间:2024/06/28 04:31:05
#include<stdio.h>
int sushu(int n)
{int i,f=1;
for(i=2;i<n;i++)
{if (n%i==0) f=0;}
return f;
}

main()
{int n;
printf("请输入一个整数:");
scanf("%d,&n");
if (sushu(n)==1)
printf("它是一个素数。");
else printf("它不是素数。");
}

你是不是所有f=0
{
if (n%i==0)
{
f=0;
}
}

试试行不?

int sushu(int n)
{
int i;
for(i=2;i<(n/2);i++)
{
if (n%i==0) return 0;
}
return 1;
}
除到N/2就可以了

scanf("%d,&n");
改为:
scanf("%d",&n);