我写了一个C函数来确定数字是否为质数,但它不起作用

时间:2018-07-08 21:58:17

标签: c primes

printf("enter number:");
scanf("%d",&number);

for(i=2;i<number;i++){      
    if(number%i==0)
        printf("your number isn't prime\n");
    else 
        printf("your number is prime\n");
}

我写了这段代码。该代码可以运行,但是如果输入10,它会打印很多次,而不是质数。

2 个答案:

答案 0 :(得分:1)

提示1:尝试使用标志(但是代码会变得更长,不必要!) 提示2:只需在第一个printf之后放一个break语句;)

答案 1 :(得分:0)

如DyZ的评论中所述,一旦知道数字不是质数,就应该中断循环,并在循环后才报告数字是质数。

此外,您不必检查已检查的除数​​的倍数。如果您的数字不能被2整除,则不能被2的任意倍数整除,例如4、6、8等。

另外,请在prime numbers

上检查以下已回答的问题