#include <stdio.h>
int ifis(int x)
{
int i=0;
int a=0;
for(i=2;i<x;i++)
{
if(x%i==0)
{
a++;
}
}
return a;
}
int main()
{
int input=0;
printf("请输入一个数>:\n");
scanf("%d",&input);
int ret=ifis(input);
if(ret==0)
{
printf("这个数是素数\n");
}
else
{
printf("这个数不是素数\n");
}
return 0;
}
一开始我用
if(x%i==0)
{
return 1;
}
然后用
if(ret==1)
{
printf("这个数不是素数");
}
来判断这个数是不是素数,这是一种错误的写法,因为他这个只能执行一次循环就回去判断了,并不能得到真正的结果,所以应该用a++来判断能不能被2到x之间的数整除,如果a始终为0,说明不能被整除,说明是素数。
博客展示了用C语言实现素数判断的代码。先给出正确代码,通过循环和计数变量判断一个数能否被2到其本身之间的数整除。还指出了一种错误写法,即只执行一次循环就判断,强调应通过计数来得到准确结果。
4万+

被折叠的 条评论
为什么被折叠?



