C語言 實現蛇形陣列

2021-08-19 23:11:00 字數 1070 閱讀 2831

首先我們先看一下蛇形陣列是什麼

那麼我們要實現這個陣列,怎麼實現呢?

我們可以看到,它每一圈的數字都是依次加1的,那麼就很容易想到用圈來實現,先算除要求的陣列有多少圈,然後每一圈可以分為4個迴圈,兩行兩列

具體實現**如下:

#include

#include

#define n 5

void print_arr(int arr[n][n])

printf("\n");

}}int main()

;//定義乙個二維陣列

/*1.計算圈數*/

int cir = (n + 1) / 2;

int i = 0;//行數

int j = 0;//列數

int k = 0;//因為i在變 所以使用乙個臨時變數來代替i

j = i;//第一圈從第一列開始 第二圈從第二行開始

int num = 1;

/*一圈4個迴圈*/

for (k = 0; k < cir; k++)

j--;//j++使得j已經走到要列印的後面乙個,所以進行j--

i++;//使得i到下一行

while (i < n - k)

i--;

j--;

while (j >= k)

j++;

i--;

while (i > k)

i++;

j++;

}print_arr(arr);

system("pause");

return

0;}

執行結果如下圖:

C 蛇形陣列

例如 void print arr int arr2 n n 列印陣列 printf n sleep 200 sleep函式,使程式暫停200毫秒 system cls cls,清除螢幕中列印出來的內容 void order print int arr n n int circle 按順序列印 再定...

snakeShape 蛇形陣列

在師兄的督促下實現的蛇性陣列,用了最簡單的辦法,最開始還懷疑能不能實現,結果還真的可以.snakeshape.cpp input n include using namespace std int main int flag 1 int first index 0,second index n 1,...

C語言每日小練(二) 蛇形陣列

例 在n n方陣裡輸入1,2,3,n n,要求填成蛇形。例如n 4時方陣為 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 上面的方陣中,多餘的空格知識為了便於觀察矩陣,不必嚴格輸出,n 8。解 此題需要小小地思考下 在按蛇形填充矩陣的過程中,我們注意到這個固定的過程 ...