Loading... ``` #include <bits/stdc++.h> using namespace std; int n,a[109][109]; int main(){ cin>>n; a[1][1]=1; for(int i=1,j=1,num=1;num<n*n;)//注意num是<不是<= { while(++j<=n&&!a[i][j])a[i][j]=++num;//向右 --j; while (++i<=n&&!a[i][j])a[i][j]=++num;//向下 --i; while (--j>0&&!a[i][j])a[i][j]=++num;//向左 ++j; while (--i>0&&!a[i][j])a[i][j]=++num;//向上 ++i; } for(int i=1;i<=n;i++,cout<<endl){ for(int j=1;j<=n;j++){ cout<<setw(3)<<a[i][j];//setw函数,每个数字占三个字符(题目要求) } } } ``` 最后修改:2024 年 03 月 20 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏