2014-01-18 51 views
0

我試圖重寫一個程序來查找數字是否爲素數或不是函數。 目前我只輸出1或2只用於測試目的。素數邏輯錯誤

問題是,無論輸入什麼數字,p = 1。

感謝有一些洞察力的人。

# include <stdio.h> 

int is_prime(int num); 

int main() 
{ 
     int num, pr=0; 


     printf("Enter a positive number: "); 
     scanf("%d", &num); 

     printf("prime is %d ",is_prime(pr)); 
     return 0; 
} 

int is_prime(int n) 
{ 
     int p, i, count=0; 


     for (i=2; i<=n/2; i++) 
     { 
       if(n%i==0) 
       { 
         count++; 
         break; 
       } 
     } 
     if (count==0 && n!=1) 
       p=1; 
     else 
       p=2; 
     return p; 
} 

回答

3
  1. 你的函數的名稱有誤(is_primei而不是is_prime)。
  2. 您總是將0傳遞給函數(具體爲pr),而不是輸入值num
+0

謝謝。第一部分原因是我在刪除該拼寫錯誤之前複製了舊版本的代碼。 – Bradg89