大佬求助

P5731 【深基5.习6】蛇形方阵

`注意每个数字有都会占用 3 3 个字符,前面使用空格补齐。` 显然你不能直接打一个空格
by wYYSZLwSSY @ 2023-07-06 10:23:22


```cpp #include<bits/stdc++.h> using namespace std; typedef long long ll; int a[15][15]; int main(){ ll n, k=1, x=1, y=0; cin>>n; while(k<=n*n){ while(y<n&&!a[x][y+1]) a[x][++y]=k++; while(x<n&&!a[x+1][y]) a[++x][y]=k++; while(y>1&&!a[x][y-1]) a[x][--y]=k++; while(x>1&&!a[x-1][y]) a[--x][y]=k++; } //cout<<" ";这一行删去 for(int i=1; i<=n; i++){ for(int j=1; j<=n; j++) printf("%3d",a[i][j]);//向右对齐三位这样用 //也可以用cout<<setw(3)<<a[i][j]; cout<<endl; } } ``` 总的来说,输出出了问题,要用向右对齐三位的方法而不是按照样例输空格。
by 沙雕苏w @ 2023-07-06 10:23:26


@[wYYSZLwSSY](/user/297683) 好的,谢谢
by Password201214 @ 2023-07-08 08:35:01


|