C语言入门的三个简易程序
文章目錄
- 一、打印100~200之間的素?cái)?shù)
- 方法一:
- 1.思路
- 2.代碼如下
- 3.結(jié)果圖
- 方法二:
- 1.思路
- 2.代碼如下
- 3.結(jié)果圖
- 二、打印乘法口訣表
- 1.思路
- 2.代碼如下
- 3.結(jié)果圖
- 三、輸出1000~2000之間的閏年
- 1.思路
- 2.代碼如下
- 3.結(jié)果圖
- 四、提升
一、打印100~200之間的素?cái)?shù)
素?cái)?shù):素?cái)?shù)又叫質(zhì)數(shù)(prime number),有無限個(gè)。質(zhì)數(shù)定義為在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)。
方法一:
1.思路
??因?yàn)樗財(cái)?shù)只能被1和它本身整除,所以我們可以寫一個(gè)程序,讓100到200之間的每一個(gè)數(shù)都從2開始除,一直除到他的本身減一,如果其中有一個(gè)的余數(shù)為零,就說明這個(gè)數(shù)除了本身和1以外,還能被其他數(shù)整除,就說明這個(gè)數(shù)不是素?cái)?shù),不進(jìn)行打印,反之,則對(duì)這個(gè)數(shù)進(jìn)行打印。
2.代碼如下
#include<stdio.h> int main() {int m, i;printf("100~200之間的素?cái)?shù)有:\n");for (m = 100; m <= 200; m++){for (i = 2; i <=m-1; i++){if (0 == m % i)break;}if (i >= m)printf("%d ", m);}return 0; }3.結(jié)果圖
如圖所示:
方法二:
1.思路
??其實(shí)仔細(xì)思考就可以發(fā)現(xiàn),如果一個(gè)數(shù)m它不是素?cái)?shù)的話,把那些可以整除它的數(shù)全部統(tǒng)計(jì)起來的話,就會(huì)發(fā)現(xiàn)這些數(shù)是以m\sqrt mm?為分界線的,所以在我們編寫for循環(huán)時(shí),終止條件就可以改到m\sqrt mm?,這樣就能更加節(jié)省代碼運(yùn)行的時(shí)間,使代碼更加的高效。
2.代碼如下
#include<stdio.h> #include<math.h> int main() {int m, n,i;printf("100~200之間的素?cái)?shù)有:\n");for (m = 100; m <= 200; m++){n = (int)sqrt(m);for (i = 2; i <=n; i++){if (0 == m % i)break;}if (i > n)printf("%d ", m);}return 0; }3.結(jié)果圖
如圖所示:
二、打印乘法口訣表
1.思路
??這個(gè)程序就很簡(jiǎn)單了,只需要兩個(gè)for循環(huán)就能后解決了,一個(gè)for循環(huán)用來控制行的范圍,另一個(gè)for循環(huán)來控制列的范圍,然后對(duì)數(shù)值進(jìn)行打印就可以了。
2.代碼如下
#include<stdio.h> int main() {int m, n;for (m = 1; m < 10; m++){for (n = 1; n <= m; n++){printf("%3d×%d=%2d",n, m, n * m);}printf("\n");}return 0; }3.結(jié)果圖
如圖所示:
三、輸出1000~2000之間的閏年
閏年的判定:1.能被4整除而不能被100整除的為閏年;
??????2.或者是能被400整除的閏年。
注:這是一般的判定方法,可能不是那么的準(zhǔn)確,更加具體的判斷方法請(qǐng)搜索百度。
1.思路
??這個(gè)思路就和上面的第一題比較類似了,就是把1000到2000里的每一個(gè)數(shù)都進(jìn)行判斷,判斷其是否符合可以被4整除而不能被100整除,或者是可以被400整除。要對(duì)每一個(gè)數(shù)進(jìn)行判斷可以使用for循環(huán)來實(shí)現(xiàn)。
2.代碼如下
#include<stdio.h> int main() {int n;printf("1000~2000之間的閏年有:\n");for (n = 1000; n <= 2000; n++){if ((n % 4 == 0) && (n % 100 != 0) || (n % 400 == 0)){printf("%d ", n);}}return 0; }3.結(jié)果圖
如圖所示:
四、提升
??有沒有感覺這樣求固定的東西太死板了,比如我想求100~300之間的素?cái)?shù),我想我可以輸入一個(gè)范圍,它就能打印我想要的結(jié)果,這樣就能使我的代碼更加的高效,更加的人性化,不會(huì)那么死板,這樣是否可行?
??答案當(dāng)然是可以的,只需要把那些固定的變量進(jìn)行一下更改,更改為用scanf()這個(gè)函數(shù)進(jìn)行輸入,就可以隨意更改我們想要的范圍了,大家可以試試!然后上面的代碼還有一些小的細(xì)節(jié),大家可以去理解理解,比如:%3d 這個(gè)3的含義是什么 ?等等。
希望這篇文章對(duì)大家有所收獲,初次編寫,請(qǐng)多多包涵。如有雷同,純屬巧合。
總結(jié)
以上是生活随笔為你收集整理的C语言入门的三个简易程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外卖类应用的竞争与趋势
- 下一篇: 外螺纹对照表_美制螺纹内外径对照表unf