輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字。例如,輸入如下矩陣:
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)屏山免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
則依次打印出數(shù)字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。
其實順時針的打印,無非就是先打印出矩陣最外面的第一行,然后是最后一列,然后是最后一行,最后是第一列,每一次打印時控制的條件也就是矩陣的行和列的邊界,那么打印完一圈之后只需要改變打印的范圍也就是首尾行和首尾列就可以再打印里面的矩陣;
程序設(shè)計如下:
#include#include using namespace std; void ClockwisePrintArr(int arr[][5], size_t row, size_t col) { assert(arr && row && col);//條件判斷 int (*tmp)[5] = arr; //第一次開始的行為0,列也為0,打印終止的行為形參行數(shù),列也為形參列數(shù) int start_row = 0; int start_col = 0; int end_row = row; int end_col = col; //判斷條件當開始邊界小于終止邊界的時候 while((start_row < end_row) && (start_col < end_col)) { //打印矩陣第一行 for(int i = start_col; i < end_col; ++i) { cout< = start_col; --i) { cout< start_row; --i) { cout< 運行程序:
《完》
網(wǎng)頁題目:順時針打印矩陣——20
鏈接URL:http://weahome.cn/article/gdgoes.html