本例是第53個算法,矩陣是圖像算法中的基本算法,靈活處理矩陣是圖像,遊戲編程的基本功。
螺旋矩陣的遞歸算法
源碼:
#include "stdio.h"
#include "stdlib.h"
/*
螺旋矩陣的遞歸算法
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 8
@author 72編程
All Rights Reserved By 分微科技(FENWII)
@ 2018-07-11
**/
int n, a[100][100];
void matrix(int i,int j, int m)
{
static k=1;
for(;j { a[i][j] = k++; } j = j-1; i++; for(;i { a[i][j] = k++; } i--; j--; for(;j>m-1;j--)//底部 { a[i][j] = k++; } i--; j++; for(;i>m;i--)//左邊 { a[i][j] = k++; } i++; j++; if(m { m++; matrix(i,j,m); } } int main(int argc, char *argv[]) { int i=0; int j=0; int m=0; printf("請輸入一個整數\n"); scanf("%d",&n); matrix(i,j,m); for(i=0;i { for(j=0;j { printf("%4d",a[i][j]); } printf("\n"); } getchar(); return 0; } /** PS:頭條編輯器暫不支持代碼格式,導致縮進格式丟失,需工程源碼請私信。若發現錯誤,歡迎指正。 **/
閱讀更多 72編程學校 的文章