「C語言程序精讀一百例」例五十三,螺旋矩陣的遞歸算法

本例是第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:頭條編輯器暫不支持代碼格式,導致縮進格式丟失,需工程源碼請私信。若發現錯誤,歡迎指正。

**/

「C語言程序精讀一百例」例五十三,螺旋矩陣的遞歸算法


分享到:


相關文章: