二維陣列列印螺形

2021-10-11 22:58:52 字數 2532 閱讀 8825

//順時針

public

static

int[

]creatematrix

(int n,

int m)

else}if

(direction == down)

else}if

(direction == left)

else}if

(direction == up)

else}}

return matrix;

}public

static

void

main

(string[

] args)

system.out.

println();}}

修改起點

int direction = right;

int nums = n * m;

int i =0;

int j =0;

// 此時起點位於左上角,且初始向右,

// 此時起點位於右上角,且初始向下

// 此時起點位於右下角,且初始向左

// 此時起點位於左下角,且初始向上

//逆時針左上起點

public

static

int[

]creatematrix

(int n,

int m)

else}if

(direction == down)

else}if

(direction == left)

else}if

(direction == up)

else}}

return matrix;

}public

static

void

main

(string[

] args)

system.out.

println();}}

解析:假設為a[n][m]

首先確定是起點,如果是左上角i=0;j=0;右上角i=0;j=m-1;左下角:i=n-1;j=0;右下角i=n-1;j=m-1;

確定旋轉,如果是順時針,右→下→左→上→右;如果是逆時針,下→右→上→左→下

如果你想列印下面這種效果

//只需要修改這裡,讓p在最大值開始

for(

int p = nums; p >

0; p--

)

左上三角

1先確定起點,在確定旋轉方向

二維陣列列印

題目 有乙個二維陣列 n n 寫程式實現從右上角到左下角沿主對角線方向列印。給定乙個二位陣列arr及題目中的引數n,請返回結果陣列。測試樣例 1,2,3,4 5,6,7,8 9,10,11,12 13,14,15,16 4返回 4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,...

二維陣列作為形參

以下是網上摘抄的一段 首先,我引用了譚浩強先生編著的 c程式設計 上面的一節原文,它簡要介紹了如何將二維陣列作為引數傳遞,原文如下 略有改變,請原諒 原文開始 可以用二維陣列名作為實參或者形參,在被呼叫函式中對形引數組定義時可以指定所有維數的大小,也可以省略第一維的大 明,如 void func i...

二維陣列做形參

來看 c primer 中給出的方法 cpp view plain copy void func1 intiarray 10 intmain 編譯通過,注意形參宣告一定要給出第二個維度的大小,要不編譯不過。cpp view plain copy void func2 int parray 10 vo...