想运行一个螺旋矩阵的程序,没有报错但是运行没有结果输出,感觉是传参的时候出了问题,有人能帮我看看吗?
#include<stdio.h>
#define N 100
int rmatrix[N][N]={0};
void RMATRIX(int n,int start, int number,int rmatrix[N][N]){//n为矩阵层数,start为矩阵开始层数,number为起始数字
int i;
if(n==1)
rmatrix[start][start]=number;
else{
for(i=start;i<(n-1);i++){//A区(矩阵的第一列)
rmatrix[i][start]=number;
number++;
}
for(i=start;i<(n-1);i++){//B区(矩阵的最后一行)
rmatrix[n-1][i]=number;
number++;
}
for(i=(n-1);i>start;i--){//C区(矩阵最后一列)
rmatrix[i][n-1]=number;
number++;
}
for(i=(n-1);i>start;i--){
rmatrix[start][i]=number;
number++;
}
start++;
RMATRIX(n-2,start,number,rmatrix);
}
}
void main(){
int a,b;
int n,number;
int rmatrix[N][N];
printf("请输入矩阵阶数:");
scanf("%d",&n);
printf("请输入开始时的number:");
scanf("%d",&number);
RMATRIX(n,0,number,rmatrix);
for(a=0;a<4;a++){
for(b=0;b<4;b++){
printf("%d ",rmatrix[a][b]);
}
printf("\n");
}
}
