c++顺时针螺旋方阵

c++顺时针螺旋方阵,第1张

题目:建立一个程序,输入整数N,生成并输出N行N列的顺时针螺旋方阵,如下图所示:

    

解答:这个题目属于编程类经常出现的二维数组基础题,本人作为初学者,自己做出了一套可能有点复杂的解法,欢迎大家讨论交流。


首先是设定基本情况,把第一个数字num[0][0]赋值为1;

int n;
	cout<<"请输入矩阵的大小:"<>n;
	int num[N][N]={0};
	int i=0,j=0;
	num[0][0]=1;
for(;num[i][j]0;)
		{
			num[i][--j]=num[i][j+1]+1;
			if(num[i][j-1]!=0)
			break;
		}
    /*若达到末端,则退出循环*/
		if(num[i][j]==n*n)
		break;	

		for(;i>0;){
			num[--i][j]=num[i+1][j]+1;
			if(num[i-1][j]!=0)
			break;
		}
	}		

最后就是输出

for(i=0;i

代码执行后的效果如下图:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/568553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)