文章
26
粉丝
0
获赞
139
访问
4.5k
换方向需要找一下规律,逆时针,i和j的改变方式是有规律的
输出也很关键,用printf("%-4d",buf[x][y]);左对齐
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int buf[25][25];
memset(buf,0,sizeof(buf));
int i=0,j=0;//矩阵从buf[1][1]开始存储
int nexti=1,nextj=1;
int dict[4]= {0,1,0,-1};
int k=0;
int cnt=1;
while(cnt<=n*n)
{
if(nexti<=n && nexti>=1 && nextj>=1 && nextj<=n && buf[nexti][nextj]==0)
{
i=nexti;
j=nextj;
//cout<<"i:"<<i<<" j:"<<j<<" k:"<<k<<endl;
buf[i][j]=cnt;
&n...
登录后发布评论
暂无评论,来抢沙发