輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字。例如,輸入如下矩陣:
為曲周等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及曲周網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、曲周網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rè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; //判斷條件當(dāng)開始邊界小于終止邊界的時候 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ù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞名稱:順時針打印矩陣——20-創(chuàng)新互聯(lián)
標(biāo)題來源:http://weahome.cn/article/ppoes.html