素数判断
#include<stdio.h>int main()
{
int x;
while(scanf("%d",&x)!=EOF)
{
int isPrime=1;
int i;
for( i=1;i<x;i++)
{
if(x%i==0){
isPrime==0;
break;
}
}
if(isPrime==1)//运行结果错误
{
printf("%d是素数\n",x);
}
else
{
printf("%d不是素数\n",x);
}
}
return 0;
}
求告知代码哪错误了 i从2,开始,所有的数都能除尽1 两处修改,都在注释里了
#include<stdio.h>
int main()
{
int x;
while (scanf("%d", &x) != EOF)
{
int isPrime = 1;
int i;
for (i = 2; i < x; i++)//这里i的范围应该是从2到x,否则结果中都是非素数
{
if (x % i == 0)
{
isPrime = 0; //这里等号换成单等号(赋值)
break;
}
}
if (isPrime == 1)
{
printf("%d是素数\n", x);
}
else
{
printf("%d不是素数\n", x);
}
}
return 0;
} 本帖最后由 一世轻尘 于 2021-1-23 17:33 编辑
{:10_334:} 昨非 发表于 2021-1-23 17:31
两处修改,都在注释里了
最佳答案不是由提问者设置吗?
页:
[1]