首先我們先看一下蛇形陣列是什麼
那麼我們要實現這個陣列,怎麼實現呢?
我們可以看到,它每一圈的數字都是依次加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。解 此題需要小小地思考下 在按蛇形填充矩陣的過程中,我們注意到這個固定的過程 ...