- 【例63.2】 回形方阵
帮我看看哪里错了
- 2023-10-2 15:17:05 @
using namespace std;
int num[105][105];
int main(){
int n,w;
cin>>n;
w = n;
num[1][1] = n;
for(int i=1,j=1;w >= 0;){//一直填到n*n个数填完
while(++j<=2*n+1&&!num[i][j])num[i][j]=w;--j;//向右
while(++i<=2*n+1&&!num[i][j])num[i][j]=w;--i;//向下
while(--j> 0&&!num[i][j])num[i][j]=w;++j;//向左
while(--i> 0&&!num[i][j])num[i][j]=w;++i;//向上
w--;
}
for(int i=1;i<=2 * n + 1;++i,cout<<endl)for(int j=1;j<=2 * n + 1;++j)
cout<<setw(2)<< left <<num[i][j];//输出
return 0;
}
2 comments
-
C23huangminzhe LV 6 @ 2023-10-6 10:43:06
输出不用设置靠左
-
2023-10-6 9:22:40@
cout << setw(2) << a[i][j];
就行了
- 1
Information
- ID
- 297
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 8
- Tags
- # Submissions
- 268
- Accepted
- 45
- Uploaded By