【C语言练习】将100~200之间的素数输出
將100~200之間的素?cái)?shù)輸出
一、編程思路
1、首先,我們要意識(shí)到,找出某個(gè)區(qū)間內(nèi)符合條件的數(shù),就需要對(duì)這個(gè)區(qū)間內(nèi)的所有數(shù)進(jìn)行遍歷,而最常用的遍歷方法就是利用for循環(huán);
2、其次,在確定了遍歷區(qū)間后,就要根據(jù)符合條件的數(shù)來(lái)進(jìn)行條件限定。例如本題中要求的是找到區(qū)間內(nèi)的所有素?cái)?shù),那么我們首先就要明確素?cái)?shù)的概念:一個(gè)大于1的自然數(shù),且除了1和它本身外,不能被其他自然數(shù)整除的數(shù)叫素?cái)?shù);
3、然后,我們便需要思考如何用數(shù)學(xué)關(guān)系式來(lái)清楚地表達(dá)素?cái)?shù)。根據(jù)素?cái)?shù)的概念,當(dāng)一個(gè)數(shù)除以在這個(gè)區(qū)間內(nèi)所有不是1且不是其本身的數(shù)時(shí):若其余數(shù)是0,就代表可以被整除,也就是說(shuō)其還有其他因數(shù),所以在此區(qū)間內(nèi)此數(shù)就不是素?cái)?shù);若其余數(shù)不是0,那么這個(gè)數(shù)在這個(gè)區(qū)間內(nèi)便是素?cái)?shù);
4、基本的思路理清楚以后,我們就要和計(jì)算機(jī)進(jìn)行交流,把我們大腦中的邏輯語(yǔ)言轉(zhuǎn)化為計(jì)算機(jī)可以看懂的語(yǔ)言:
①定義兩個(gè)int變量:i,j,分別作為除數(shù)和被除數(shù)
②最外層定義一個(gè)for循環(huán),確定被除數(shù)的范圍區(qū)間100~200
③下面再嵌套一層for循環(huán),確定除數(shù)的區(qū)間,因?yàn)槭浅?和其本身以外的數(shù),所以j應(yīng)該從2開(kāi)始,結(jié)束區(qū)間由i為上限
④寫一個(gè)if判斷語(yǔ)句,利用取余公式i%j來(lái)確定其余數(shù)是否為0:若為0,就說(shuō)明i可以整除j,則退出循環(huán)
⑤通過(guò)以上方式,便會(huì)排除④中不是素?cái)?shù)的數(shù),那么剩下的數(shù)便是素?cái)?shù)
⑥將所得結(jié)果輸出即可
二、源碼
代碼如下:
#include <stdio.h>int main(){int i,j;for (i = 100; i <= 200 ; ++i) {for (j = 2; j <= i ; ++j) {if (i%j == 0){break;}}if (i == j){printf("%d,",i);}}return 0; }三、總結(jié)
1、熟悉遍歷方式,確定初始值和遍歷范圍
2、具體問(wèn)題具體分析,牢記素?cái)?shù)的判別表達(dá)式
3、理解break的含義
總結(jié)
以上是生活随笔為你收集整理的【C语言练习】将100~200之间的素数输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 水排序谜题190过关攻略
- 下一篇: 【C语言练习】求两个数m和n的最大公约数