回型矩阵 考察的是二维数组以及循环控制的知识
依题可得:另w=1;首先从左往右,w++;从上到下,从右到左,从下到上都是一样的,并且呢我们最外一圈执行完之后要执行内一圈,所以就需要两个变量控制我们的执行。代码如下:#include<stdio.h>
int a[21][21];
int main()
{
int n,x,y;
int q,e,r=0;
int w;
scanf("%d",&n);
e=n;
w=1;
while(w<=n*n){
for(y=r;y<e;y++){//you
a[r][y]=w;
w++;
}
for(x=r+1;x<e;x++){//xia
a[x][e-1]=w;
w++;
}
for(y=e-2;y>=r;y--){//zuo
a[e-1][y]=w;
w++;
}
for(x=e-2;x>r;x--){
a[x][r]=w;
w++;
}
r++;
e--;
}
for(x=0;x<n;x++){
for(y=0;y<n;y++){
printf("%d",a[x][y]);
}
printf("\n");
}
return 0;
}