C語言 判斷是否為素數

2021-10-23 22:20:34 字數 704 閱讀 7125

#

include

void

main()

else}if

( isprime ==1)

else

}else

//當輸入的是-1時,結束程式的判斷;}}

while

( a !=-1);}

編寫這個程式的時候遇到了兩個小問題,

問題一是:當我單次輸入數字 5 ,判斷它是否為素數時,結果是正確的;而當我連續輸入數字判斷時,判斷到 5 後結果卻是錯的。小夥伴們知道這是為啥嗎?;

問題二是:當我想結束程式的判斷時(輸入-1就能結束),卻不能及時的結束,而是再進行了一次判斷後才能結束。小夥伴們知道這是為啥嗎?;
答案揭曉:

問題一:這個問題其實要考慮的是「全域性變數」和「區域性變數」的關係 ,一開始我使用的是全域性變數,導致後續的結果都被覆蓋了。

問題二:這個問題是因為沒有設定結束判斷的條件,在此程式中我加了乙個判斷的條件,只有鍵盤輸入的不是 -1 那麼程式就繼續執行下去,知道鍵盤輸入的-1才終止執行。

(C語言)判斷n是否為素數

題目 輸入乙個大於3的整數n,判斷它是否為素數。輸出yes no 例如,輸入4,輸出no 輸入7,輸出yes。錯誤輸入,則輸出error。所有輸出沒有回車符號。乙個只能被他自身或者1整除的數稱為素數 這裡還有乙個簡便的方法是 設乙個數m,m 不必被 2 m 1 之間的每乙個整數去除,只需被 2 之間...

C語言練習之判斷是否為素數

題目要求 輸入乙個整數n,判斷他是否為素數 質數 分析 採用的演算法是,讓n除以i,如果n能被2 n 1 之中的任何乙個整數整除,則表示n肯定不是素數,不必再繼續被後面的整數除,因此,可以提前結束迴圈。如下 include stdio.h void main if i 跳出迴圈後判斷是因為1跳出的迴...

C語言判斷乙個數是否為素數

素數又稱質數。所謂素數是指除了1和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被2 16的任一整數整除。思路1 因此判斷乙個整數m是否是素數,只需把m被 2 m 1 之間的每乙個整數去除,如果都不能被整除,那麼m就是乙個素數。思路2 另外判斷方法還可以簡化。m不必被 2 m 1 ...