判断一个数是否为素数程序问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 04:39:59
int x = 0, m = 2; double n;
printf("please input a int number\n");
scanf("%lf",&n);
for(;m < n;m++)
{if ((int)n % m == 0) x = 1;
}
if (x = 0) printf("%d is prime\n", (int)n);
else printf("%d is not prime\n", (int)n);
为什么总是输出%d is not prime

因为
__if (x = 0) printf("%d is prime\n", (int)n);
将0赋值给x,所以x=0返回0,if (x=0)等于 if (false)
所以,要改为
int x = 0, m = 2; double n;
printf("please input a int number\n");
scanf("%lf",&n);
for(;m < n;m++)
{if ((int)n % m == 0) x = 1;
}
if (x == 0) printf("%d is prime\n", (int)n);
else printf("%d is not prime\n", (int)n);