如何使用递归建立螺旋方阵?

如何使用递归建立螺旋方阵?,第1张

如何使用递归建立螺旋方阵
#include <stdio.h>void build_matrix(int msize, int a[msize][msize], int size, int value){    int i, row, col;    if(size < 1)        return;    row = col = (msize - size) / 2;    if(size==1){        a[row][col] = value;        return;    }    for(i=0;i<size-1;++i)        a[row][col++] = value++;//RIGHT    for(i=0;i<size-1;++i)        a[row++][col] = value++;//DOWN    for(i=0;i<size-1;++i)        a[row][col--] = value++;//LEFT    for(i=0;i<size-1;++i)        a[row--][col] = value++;//UP    build_matrix(msize, a, size-2, value);}int main(){    int size;    printf("input size : ");    scanf("%d", &size);    int a[size][size];    build_matrix(size, a, size, 1);    for(int r=0;r<size;++r){        for(int c=0;c<size;++c) printf("%3d ", a[r][c]);        printf("n");    }    return 0;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5477789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存