C:素数因子

时间:2016-01-18 10:59:49

标签: c prime-factoring

如何使用下面的IsPrime方法测试质数?我似乎无法让printf在我的IsPrime方法中工作,并且没有抛出任何错误。

#include <stdlib.h>
#include <stdio.h>
int IsPrime(unsigned int number) {
   if (number <= 1) {
      return 0; // zero and one are not prime
      printf("zero and one are not prime.");
      }
   unsigned int i;
   for (i=2; i*i<=number; i++) {
      if (number % i == 0) {
         return 0;
         printf("not a prime.");
      }
   }
   return 1;
   printf("You've found a prime!");
   }

int main(void) {
   int a;

   printf("Please input an integer value: ");
   scanf("%d", &a);
   if(a >= 1 && a <= 1000) {
      printf("You entered: %d\n", a);
      IsPrime(a);
   }
   else {
      printf("Error! Please enter a value between 1 and 1000.");
   }
}

2 个答案:

答案 0 :(得分:6)

return <{1}}之前的printf

答案 1 :(得分:0)

您在printf之后写了return;语句这是一个简单的解决方法,只需交换这两条指令。