修改如下,供参考:
#include <stdio.h>
int main()
{
int n, i, k;
while (1) {
scanf("%d", &n);
k = n;
if (n < 0)
n = -n;
if (n == 0) break;
for (i = 2; i < n; i++)
if (n % i == 0)
break;
if (i == n)
printf("%d 是素数\n", k);
else
printf("%d 非素数\n", k);
}
return 0;
}
用for()这么写,供参考:
#include <stdio.h>
int main()
{
int n, i, k;
for (; scanf("%d", &n) && n != 0;)
{
k = n;
if (n < 0)
n = -n;
for (i = 2; i < n; i++)
if (n % i == 0)
break;
if (i == n)
printf("%d 是素数\n", k);
else
printf("%d 非素数\n", k);
}
return 0;
}