新聞中心
二維數(shù)組是C語(yǔ)言中常用的數(shù)據(jù)結(jié)構(gòu),它可以存儲(chǔ)多個(gè)相同類(lèi)型的數(shù)據(jù),遍歷二維數(shù)組是指按照一定的順序訪(fǎng)問(wèn)數(shù)組中的每一個(gè)元素,本文將介紹C語(yǔ)言中遍歷二維數(shù)組的幾種方法。

做網(wǎng)站、成都網(wǎng)站建設(shè)的開(kāi)發(fā),更需要了解用戶(hù),從用戶(hù)角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶(hù)體驗(yàn)。創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見(jiàn)的多,溝通容易、能幫助客戶(hù)提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷(xiāo)的概念。選擇創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪(fǎng)用戶(hù)感受到浩方產(chǎn)品的價(jià)值服務(wù)。
按行遍歷
按行遍歷是指從數(shù)組的第一行開(kāi)始,逐行訪(fǎng)問(wèn)數(shù)組中的元素,具體方法是使用兩重循環(huán),外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制列數(shù)。
示例代碼:
#includeint main() { int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { printf("%d ", arr[i][j]); } printf(" "); } return 0; }
按列遍歷
按列遍歷是指從數(shù)組的第一列開(kāi)始,逐列訪(fǎng)問(wèn)數(shù)組中的元素,具體方法是使用兩重循環(huán),外層循環(huán)控制列數(shù),內(nèi)層循環(huán)控制行數(shù)。
示例代碼:
#includeint main() { int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; for (int j = 0; j < 4; j++) { for (int i = 0; i < 3; i++) { printf("%d ", arr[i][j]); } printf(" "); } return 0; }
按對(duì)角線(xiàn)遍歷(從左上到右下)
按對(duì)角線(xiàn)遍歷是指從數(shù)組的左上角開(kāi)始,沿對(duì)角線(xiàn)方向訪(fǎng)問(wèn)數(shù)組中的元素,具體方法是使用兩重循環(huán),外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制列數(shù),需要注意的是,每次內(nèi)層循環(huán)結(jié)束后,需要更新行列的值。
示例代碼:
#includeint main() { int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; int row = 0, col = 0; int n = sizeof(arr) / sizeof(arr[0]); // 獲取數(shù)組的行數(shù)和列數(shù) int m = sizeof(arr[0]) / sizeof(arr[0][0]); // 獲取數(shù)組的行數(shù)和列數(shù)(另一種寫(xiě)法) for (row = 0; row < n; row++) { for (col = 0; col < m; col++) { if (row == col) { // 如果行數(shù)等于列數(shù),說(shuō)明在對(duì)角線(xiàn)上,輸出該元素并更新行列值 printf("%d ", arr[row][col]); row++; // 更新行值,以便下次輸出下一個(gè)對(duì)角線(xiàn)上的元素時(shí),能夠正確地輸出當(dāng)前元素后面的元素(因?yàn)槊織l對(duì)角線(xiàn)上的元素個(gè)數(shù)是奇數(shù)) break; // 跳出內(nèi)層循環(huán),進(jìn)入下一次外層循環(huán)的內(nèi)層循環(huán),繼續(xù)輸出下一個(gè)對(duì)角線(xiàn)上的元素(即當(dāng)前元素的下一個(gè)元素) } else { // 如果行數(shù)不等于列數(shù),說(shuō)明不在對(duì)角線(xiàn)上,直接跳過(guò)該元素,進(jìn)入下一次外層循環(huán)的內(nèi)層循環(huán),繼續(xù)輸出下一個(gè)元素(即當(dāng)前元素的下一個(gè)元素) continue; // 跳過(guò)本次內(nèi)層循環(huán),進(jìn)入下一次外層循環(huán)的內(nèi)層循環(huán),繼續(xù)輸出下一個(gè)元素(即當(dāng)前元素的下一個(gè)元素) } } } return 0; }
新聞名稱(chēng):C語(yǔ)言二維數(shù)組的遍歷,數(shù)據(jù)結(jié)構(gòu)第二版鄒嵐課后答案(c語(yǔ)言遍歷二維數(shù)組的方法)
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/cocjjch.html


咨詢(xún)
建站咨詢(xún)
