社区讨论
不知道为什么编译出错
P5731【深基5.习6】蛇形方阵参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo18bknx
- 此快照首次捕获于
- 2023/10/22 16:51 2 年前
- 此快照最后确认于
- 2023/11/02 16:40 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n][n];
for (int j=0;j<n;j++)
{
for (int i=0;i<n;i++)
{
a[j][i]=0; //初始化
}
}
int p=0,q=0;
int k=2;
a[0][0]=1;
while(k<=n*n){ //依次为向右,向下,向左,向上,顺时针填入数字
while(q+1<n&&a[p][q+1]==0){
q++;
a[p][q]=k;
k++;
}
while(p+1<n&&a[p+1][q]==0&&k<=n*n){
p++;
a[p][q]=k;
k++;
}
while(q-1>0&&a[p][q-1]==0&&k<=n*n){
q--;
a[p][q]=k;
k++;
}
while(p-1>0&&a[p-1][q]==0&&k<=n*n){
p--;
a[p][q]=k;
k++;
}
}
for (int b=0;b<n;b++)
{
for (int c=0;c<n;c++)
{
printf("%3d ",a[b][c]);
}
printf("\n");
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...