c語言中如何用函數(shù)打印出1到100中的素?cái)?shù)?
有三種
1.輸出1-100范圍內(nèi)的質(zhì)數(shù):
2.同樣,輸出1-100內(nèi)的質(zhì)數(shù)。該方法構(gòu)造一個(gè)數(shù)組,并將其所有元素初始化為1,表示質(zhì)數(shù)。此時(shí)取X,從2開始,在100以內(nèi)循環(huán)。
如果x是質(zhì)數(shù),那就是質(zhì)數(shù)[x]!0,這樣每個(gè)i*x位置元素設(shè)置為0(prime[i*x]0),表示非素?cái)?shù),循環(huán)結(jié)束前x^1。
3.方法是輸出100個(gè)素?cái)?shù)。基本思想是構(gòu)造一個(gè)素?cái)?shù)表,用一個(gè)函數(shù)來判斷每個(gè)數(shù)是否能被它之前的素?cái)?shù)整除。如果沒有,則將元素添加到素?cái)?shù)表中,繼續(xù)循環(huán)(而循環(huán)以cnt結(jié)束,即數(shù)組個(gè)數(shù)為gt100)。
擴(kuò)展數(shù)據(jù):
for循環(huán)主要用在這個(gè)小程序中。
for循環(huán)語句的一般形式是:
For(表達(dá)式1、表達(dá)式2和表達(dá)式3)
{
句子
}
需要注意兩點(diǎn):
1)表達(dá)式1、2和3用分號分隔,從不寫成逗號。
2)for(表達(dá)式1;表情2;唐不要在表達(dá)式3)的末尾加一個(gè)符號,許多初學(xué)者會(huì)犯這個(gè)錯(cuò)誤。;我忍不住在末尾加了一個(gè)標(biāo)記。
因?yàn)閒or循環(huán)只能控制下面的語句,而在C語言中,分號也是語句——空語句。所以如果你在它后面加一個(gè)分號,那么for循環(huán)只能控制到這個(gè)分號,下面大括號里的語句不屬于for循環(huán)。
c語言中判斷是否為素?cái)?shù)有幾種程序段?
1.首先打開編輯器軟件,將頭文件導(dǎo)入新的C語言文件并輸入主函數(shù),輸入主函數(shù)中的代碼:
2.然后寫判斷素?cái)?shù)的邏輯。這里先引入一個(gè)scanf函數(shù),接受用戶輸入的數(shù)值并存儲在變量中,判斷接收到的變量是否為素?cái)?shù)。判斷的依據(jù)是,如果它們能被從2到n-1的某個(gè)數(shù)整除,那么它們就是素?cái)?shù),否則就不是。最后,打印出判斷結(jié)果:
3.最后編譯運(yùn)行調(diào)試程序,按crtlF5編譯,在彈出的命令行輸入質(zhì)數(shù)17。程序判斷的結(jié)果是程序邏輯沒問題。以上是C語言中判斷素?cái)?shù)的方法:
c語言中isprime怎么用?
Isprime是一個(gè)函數(shù),它的作用是判斷素?cái)?shù)。
#用整數(shù)參數(shù)和異常處理實(shí)現(xiàn)isPrime()函數(shù)。如果整數(shù)是質(zhì)數(shù),則返回True,否則返回False。
#函數(shù)分為四個(gè)部分:定義、調(diào)用、執(zhí)行和返回。循環(huán)讀取輸入,注意縮進(jìn)。
擴(kuò)展數(shù)據(jù):
如果一個(gè)數(shù)可以因式分解,那么因式分解得到的兩個(gè)數(shù)必然是一個(gè)小于等于sqrt(n),一個(gè)大于等于sqrt(n),所以對于每一個(gè)數(shù)n,不需要從2到n-1判斷,遍歷到sq。Rt(n)就可以了。因?yàn)槿绻鹲qrt(n)的左邊可以如果找不到除數(shù),那么右邊就能找到。;也找不到除數(shù)。
可以用篩選法生成所有小于n的數(shù),然后依次去掉2和sqrt(n)之間的整數(shù)倍數(shù),剩下的都是小于n的質(zhì)數(shù)。