[問題] 關於用函式寫出質數、質數個數、迴圈執行次數

看板C_and_CPP (C/C++)作者 (免費的最貴)時間16年前 (2009/03/04 20:37), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/1
目前判斷質數的函式已經寫出來了 #include <stdio.h> #include <stdlib.h> int prime1(int n); int main(void) { int x; for(x=2;x<=10;x++){ if(prime1(x) != 0){ printf("%d ",prime1(x)); } } system("pause"); return 0; } int prime1(int n) { int isPrime = n,i; for(i=2;i<n;i++) if(n%i ==0){ isPrime=0; break; } return isPrime; } 請問要如何顯示質數個數跟迴圈跑了幾次呢? 有想過在if(n%i ==0)這個判斷式後面加上else{count++;} 但不知道要怎麼印在main上 很新手的問題 懇請各位高手指教 感謝<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.98.210

03/04 21:19, , 1F
迴圈跑幾次看for內的x,印了幾個質數,就用變另外記錄
03/04 21:19, 1F

03/04 21:20, , 2F
另外我不知道你想在main 上印什麼
03/04 21:20, 2F

03/04 21:21, , 3F
用指標或結構都可以 i迴圈只要跑n/2次就可以
03/04 21:21, 3F

03/04 21:23, , 4F
或是用一個全域變數去記 另外x一次要跑兩次prime1太浪費了
03/04 21:23, 4F

03/04 23:38, , 5F
我用全域變數去記質數個數,但出來的數字是19..
03/04 23:38, 5F

03/04 23:38, , 6F
作法是用else{count++;} 不知道是哪裡出問題
03/04 23:38, 6F

03/04 23:55, , 7F
你else加錯位置了。加在prime內當然是錯的
03/04 23:55, 7F

03/05 00:52, , 8F
感謝 已經解出來了
03/05 00:52, 8F
文章代碼(AID): #19hdOSTC (C_and_CPP)
文章代碼(AID): #19hdOSTC (C_and_CPP)