C/C++編程筆記:C++ 嵌套循環(huán),含循環(huán)打印及蛇形矩陣實(shí)例
也稱為多循環(huán),在一個(gè)循環(huán)中嵌套使用一個(gè)或多個(gè)循環(huán)。

嵌套循環(huán)的基本結(jié)構(gòu)就是在一個(gè)循環(huán)中,循環(huán)體包含了另一個(gè)循環(huán)的情況。下面我用幾個(gè)嵌套循環(huán)的例子來深入理解嵌套循環(huán)。
循環(huán)圖案打印
分別打印下面三種圖案:

思路分析
一般來說,單循環(huán)打印的圖案都是線性的,要么是橫線要么是豎線。那么我們這里需要打印一個(gè)二維圖形,就需要從線跨越到面。那么我們只要有很多條線就能構(gòu)成一個(gè)平面,所以我們這里打印二維圖形就需要兩個(gè)循環(huán)來實(shí)現(xiàn)。
那么我們這里規(guī)定外層循環(huán)控制行,內(nèi)層循環(huán)控制列。然后找到圖形中行與列的關(guān)系,通過控制內(nèi)層循環(huán)的循環(huán)條件,就可以打印出需要的圖形。
1. 實(shí)心菱形星星
菱形可以看做兩個(gè)三角形組成的,一個(gè)正等腰三角,一個(gè)倒等腰三角。這里就可以通過if語(yǔ)句來根據(jù)行數(shù)改變列的循環(huán)條件,從而實(shí)現(xiàn)打印兩個(gè)圖形并組合。
下面是參考代碼:

輸出結(jié)果如下:
? ? ? *
? ? ***
? *****
?*******
? *****
? ?***
? ? ?*
2. 實(shí)心菱形字母
這里和實(shí)心菱形星星改變的只有打印的內(nèi)容,整體的圖形還是沒變的。所以我們這里只要改變上面程序中打印的內(nèi)容就行。
下面是參考代碼:

輸出結(jié)果如下:

3. 空心菱形星星
這里和實(shí)心菱形星星改變的也是內(nèi)循環(huán)的內(nèi)容,整體圖形沒有變化。所以只需要改變打印內(nèi)容即可。
下面是參考代碼:

輸出結(jié)果如下:

打印蛇形矩陣
顧名思義,蛇形矩陣:矩陣的一種,常被應(yīng)用在編程題目與數(shù)學(xué)數(shù)列中。
它由1開始的自然數(shù)依次排列成的一個(gè)矩陣,有上三角、環(huán)形或?qū)蔷€等走法,輸入文件由一行或多行組成,每行由一個(gè)正整數(shù)N組成(N不大于100)。
下面練習(xí)一些常見的蛇形矩陣:
1. 上三角
要實(shí)現(xiàn)如下效果:

可以發(fā)現(xiàn)上述表格的規(guī)律是,從左上角第一個(gè)格開始(起始為1),然后沿右上角到左下角的斜線,先從下到上,再?gòu)纳系较?。開始數(shù)字遞增排列。
我們可以想象有一個(gè)游戲角色在一個(gè) 5*5 的格子上進(jìn)行走動(dòng),每個(gè)數(shù)字就是他走的步數(shù)。這個(gè)角色只有4個(gè)移動(dòng)方向,分別為向下、向右上、向右和向左下。那么我們就可以創(chuàng)造一個(gè) (x,y)來表示角色的坐標(biāo)。再用一個(gè)數(shù)組來記錄每個(gè)坐標(biāo)當(dāng)中的步數(shù)是什么。
下面是參考代碼:


輸出結(jié)果如下:

2. 環(huán)形
要實(shí)現(xiàn)如下效果:

可以發(fā)現(xiàn)上述表格的規(guī)律是,從左上角第一個(gè)格開始(起始為1),進(jìn)行順時(shí)針繞圈圈移動(dòng)。開始數(shù)字遞增排列。
這里則可以認(rèn)為這個(gè)角色在繞圈圈。這個(gè)角色只有4個(gè)移動(dòng)方向,分別為向右、向下、向左和向上。這個(gè)角色每繞一圈,他所能走的格子寬度就減小 1。
下面是參考代碼:


輸出結(jié)果如下:

希望對(duì)大家有幫助!
另外如果你想更好的提升你的編程能力,學(xué)好C語(yǔ)言C++編程!彎道超車,快人一步!
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!

學(xué)習(xí)C/C++編程知識(shí),提升C/C++編程能力,歡迎關(guān)注UP一起來成長(zhǎng)!
另外,UP在主頁(yè)上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~
編程學(xué)習(xí)軟件分享:

編程學(xué)習(xí)視頻分享:
