#include<stdio.h>
int main()
{
int x,isPrime=1,i;
scanf("%d",&x);
for(i=2;i<x;i++)
{
if(x%i==0)
{
isPrime=0;
break;
}
}
if(isPrime==0)
{
printf("是素數");
}
else
{
printf("不是素數");
}
return 0;
}
可以幫我看下哪塊錯了嘛,實在是不會了

uj5u.com熱心網友回復:
其實你就是把自己設定的標志位搞反了,isPrime等于0的時候不是素數uj5u.com熱心網友回復:
供參考:#include<stdio.h>
int main()
{
int x,isPrime=1,i;
scanf("%d",&x);
if(x<=1)isPrime=0;//增加對1的判斷
for(i=2;i<x;i++)
{
if(x%i==0)
{
isPrime=0;
break;
}
}
if(isPrime!=0)//if(isPrime==0)這里反了
{
printf("是素數");
}
else
{
printf("不是素數");
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/273368.html
標籤:新手樂園
上一篇:折半查找求助
下一篇:新手求教
