C語言中有有許多經(jīng)典的算法,這些算法都是許多人的智慧結(jié)晶,也是編程中常用的算法,這里面包含了眾多算法思想,掌握這些算法,對(duì)于學(xué)習(xí)更高級(jí)的、更難的算法都會(huì)有很大的幫助,會(huì)為自己的算法學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
接下來我們先來看10道:
(1) 輸出9*9乘法口訣
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
運(yùn)行結(jié)果:
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(2) 打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)“水仙花數(shù)”,因?yàn)?53=1的三次方+5的三次方+3的三次方
程序分析:利用for循環(huán)控制100-999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(3) 編程打印楊輝三角
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
運(yùn)行結(jié)果:
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(4) 一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時(shí),共經(jīng)過多少米?第10次反彈多高?
程序源代碼:
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(5) 一只猴子摘了N個(gè)桃子第一天吃了一半又多吃了一個(gè),第二天又吃了余下的
一半又多吃了一個(gè),到第十天的時(shí)候發(fā)現(xiàn)還有一個(gè).
程序源代碼:
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(6) 實(shí)現(xiàn)將輸入的字符串反序輸出。
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
運(yùn)行結(jié)果:
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(7) 將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5
程序分析:對(duì)n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù)k,然后按下述步驟完
成:
1、如果這個(gè)質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。
2、如果n<>k,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正
整數(shù)你n,重復(fù)執(zhí)行第一步。
3、如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。
程序源代碼:
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(8) 將一個(gè)4×4的數(shù)組進(jìn)行逆時(shí)針旋轉(zhuǎn)90度后輸出,要求原始數(shù)組的數(shù)據(jù)隨機(jī)輸入,新數(shù)組以4行4列的方式輸出
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
運(yùn)行結(jié)果:
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(9) 輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)
程序源代碼:
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)
(10) 輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)
程序分析:利用while語句,條件為輸入的字符不為’ ’.
10個(gè)經(jīng)典C語言算法—零基礎(chǔ)小白必學(xué)