/**
* 實驗題目:
* 求5x5階螺旋方陣
* 實驗目的:
* 掌握陣列演算法設計
* 實驗內容:
* 以下是乙個5x5階螺旋方陣。編寫程式,輸出該形式的nxn(n<10)階方陣(順時針方向旋進)
* 1 2 3 4 5
* 16 17 18 19 6
* 15 24 25 20 7
* 14 23 22 21 8
* 13 12 11 10 9
*/#include
#define max_len 10
/*------------------求n階螺旋方陣a-----------------*/
/*** 螺旋方陣:
* 是指對任意給定的n,將1到n×n的數字從左上角第1個格仔開始,
* 按順時針螺旋方向順序填入n×n的方陣裡。
* 以n=5為例
* 1 2 3 4 5
* 16 17 18 19 6
* 15 24 25 20 7
* 14 23 22 21 8
* 13 12 11 10 9
* 演算法思路:
* 用二維陣列a存放n階螺旋方陣。偶數階螺旋方陣共有m(m=n/2)圈,
* 奇數階螺旋方陣共有m(m=n/2+1)圈,對於第i(i從0到m-1共執行m次)圈
* 迴圈,產生該圈上橫行的數字,產生該圈右豎行的數字,產生該圈下
* 橫行的數字,產生該圈左豎行的數字。最後輸出該方陣。**/
static void helix_matrix(int a[max_len][max_len], int n)
// 產生該圈右豎行的數字
for(j = i + 1; j < n - i; j++)
// 產生該圈下橫行的數字
for(j = n - i - 2; j >= i; j--)
// 產生該圈左豎行的數字
for(j = n - i - 2; j >= i + 1; j--)}}
int main(void)
printf("\n");
}return 0;
}測試結果:
輸入n(n<10):5
5階數字方陣如下:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
5X5矩陣調換!
將乙個5x5矩陣中最大的元素放在中心,4個角分別放4個最小的元素,寫一函式實現之!include int main printf n return 0 void change int p temp p 12 p 12 pmax pmax temp temp p p pmin pmin temp pm...
5x5矩陣調整大小位置!
將乙個5x5的矩陣中最大的元素放在中心,4個角分別放4個最小的元素 順序為從左到右,從上倒下依次從小到大存放 寫一函式實現它!include int main return 0 void change int p temp p 12 將 p 12 的值儲存到temp p 12 是該矩陣的中心元素 序...
SQL大賽 5X5方格棋盤難題
盛拓傳媒杯 sql大賽第一期答題,本期題目 5x5方格棋盤難題 在5x5的方格棋盤中 如圖 每行 列 斜線 斜線不僅僅包括對角線 最多可以放兩個球,如何擺放才能放置最多的球,這樣的擺法總共有幾種?輸出所有的擺法。要求 用一句sql實現。輸出格式 從方格棋盤第一行至第5行,每行從第一列到第5列依次輸出...