C++问题.2

来源:百度知道 编辑:UC知道 时间:2024/06/14 10:56:18
编写函数判别一个数是否是质数,在主程序中实现输入、输出。

#include <stdio.h>
#include <math.h>

int isPrimer(int n)
{
int i;
if(n == 1)
return 0;
if(n == 2)
return 1;
if(n%2 == 0)
return 0;
else
{
int count =(int)sqrt(n)+1;
for(i=3;i<count;i+=2)
if(n%i == 0)
return 0;
}
return 1;

}
int main(void)
{
int n;
int i;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(isPrimer(i))
{
printf("%d,",i);
}
}
return 0;
}

我把上面的主程序该改一下
void main(void)
{
int n;
printf("请输入一个数:");
scanf("%d",&n);
if(isPrimer(n))
printf("%d是质数!\n",n);
else
printf("%d不是质数!\n",n);
}