|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#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;
}
求告知代码哪错误了
两处修改,都在注释里了
- #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;
- }
复制代码
|
|