順時針列印矩陣

2021-06-22 05:12:53 字數 1131 閱讀 2351

題目要求:輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如輸入如下乙個矩陣:

則依次列印出:1,2,3 ,4,8,12,16,15,14,13,9,5,6,7,11,10.

主要程式如下:

void printmatrixclockwisely(int **numbers,int columns,int rows)

if(numbers==null||columns<=0||rows<=0)//保證傳入的

return;

int start=0;

while(columns>start*2&&rows>start*2)

printmartixincircle(numbers,columns,rows,start)

++start;}}

void  printmartixincircle(int **numbers,int columns,int rows,int start)//主體思想分四步走

int endx=columns-1-start;

int endy=rows-1-start;

for(int i=start;i<=endx;++i)//從左到右列印一行//第一步

int number=numbers[start,i];

printnumber(number);

if(startfor(int i=start+1;i<=endy;i++)

int number=numbers[i][endx]

printnumber(number);

if(startfor(int i=endx-1;i>=start;i--)

int number=numbers[endy][i];

printnumber(number);

if(startfor(i=endy-1;i>=start+1:--i)

int number=numbers[i][start];

printnumber(number);

順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 45 6 7 89 10 11 1213 14 15 16則依次列印出數字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。這個題目 寫的並不好感覺,好多if看著就煩,就是...

順時針列印矩陣

題目 給定乙個矩陣,從外向內順時針列印矩陣中的每乙個數字。例如 給定矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 輸出應該為 分析 這道題的意思非常直觀,給人的感覺也是so easy,然而實際去做的時候會發現,如果結構劃分的不好,會出現很多的迴圈,而且包括對各種...

順時針列印矩陣

from 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次列印出數字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。網上聽說聽到包括autod...