社区讨论

不知道为什么编译出错

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 条回复,欢迎继续交流。

正在加载回复...