c語言寫蛇形矩陣

2021-08-02 04:35:34 字數 953 閱讀 5298

這道題我真的也弄了很久。

演算法分析:

首先我們把它分成上三角和下三角。我們可以把上三角賦值想這樣子1, 2 3, 4 5 6, 7 8 9 10, 11 12 13 14 15.

第1次賦值是1次,第2次是2次,第3次是3次...。所以外迴圈是n次,內迴圈次數等於該次輸出數字的最大行數。然後我們看奇數行和數行的行走的方向是不一樣的。奇數行是右再斜下。偶數行是下然後斜上。是這樣子賦值的,a[0][0],a[1][0] a[0][1],a[2][0] a[1][1] a[0][2],a[0][3] a[1][2] a[2][1] a[3][0]。可以看到如果是奇數行,行數是從0開始,結尾數列數都是以0結束。同理偶數行分析。下三角同理分析。我看網上下三角有這樣子的辦法就是下三角是n*n-對應上三角的值+1。希望對你有幫助。

**1如下

#include

#define n 100

void zigzagmatrix(int a[n], int n);

int main()

printf("\n");}}

else

printf("input error!\n");

return 0;

} void zigzagmatrix(int a[n], int n) }

k=n*n;

for(i=0;i<=n-1;i++)  }

}**2如下

#include

#define n 100

void zigzagmatrix(int a[n], int n);

int main()

printf("\n");}}

else

printf("input error!\n");

return 0;

} void zigzagmatrix(int a[n], int n)

else

k++;}}

}

隨便寫的蛇形矩陣

問題描述 蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。要求 資料輸入 本題有多組資料,每組資料由乙個正整數n組成。n不大於100 資料輸出 對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。樣例輸入 5 樣例輸出...

C語言演算法(1) 蛇形矩陣

題目來自 c語言網 題目描述 蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。輸入本題有多組資料,每組資料由乙個正整數n組成。n不大於100 輸出對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。樣例輸入 5 樣例輸...

C 實現蛇形矩陣

昨天做了一道關於蛇形矩陣的演算法題,覺得有點意思,下面記錄一下我實現的過程。我的做法是建立乙個動態二維陣列,然後一層一層往內填數字 如上圖,先是1 3,4 6,7 9,10 12。這是第一層,然後記錄層數,一層層迴圈即可。但是在我除錯的時候發現,如果是奇數行,最後中間那個數會沒有被賦值,所以在 最後...