题解 | #回型矩阵#
回型矩阵
https://www.nowcoder.com/practice/36d5dfddc22c4f5b88a5b2a9de7db343
#include <stdio.h>
//通过控制边界来达到题目目的
int main() {
int m[20][20]={0};
int n;
scanf("%d",&n);
int i=1;
int up=0;
int left=0;
int right=n-1;
int down=n-1;
while(i<=n*n)
{
for(int j=left;j<=right;j++)
{
m[up][j]=i++;
}
up++;
for(int j=up;j<=down;j++)
{
m[j][right]=i++;
}
right--;
for(int j=right;j>=left;j--)
{
m[down][j]=i++;
}
down--;
for(int j=down;j>=up;j--)
{
m[j][left]=i++;
}
left++;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%d ",m[i][j]);
}
printf("\n");
}
return 0;
}
查看9道真题和解析
