题目:建立一个程序,输入整数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
代码执行后的效果如下图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)