c++ 输入n 输出n*n的数字矩阵 如 输入4输出 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4

 我来答
龍__鳳
推荐于2018-04-06 · TA获得超过2346个赞
知道小有建树答主
回答量:948
采纳率:0%
帮助的人:1407万
展开全部

#include<iostream>

using namespace std;

int main()

{

int i,j,n;

cin>>n;

int **a=new int*[n];

for(i=0;i<n;++i)

{

int *b=new int[n];

for(j=0;j<n;++j)

cin>>b[j];

a[i]=b;

}

cout<<"数组: "<<endl;

for(i=0;i<n;++i)

{

for(j=0;j<n;++j)

cout<<a[i][j]<<" ";

cout<<endl;

}

for(i=0;i<n;++i)//释放数组

delete [] a[i];

delete[] a;

return 0;

}

百度网友bc333d8
2013-05-18 · TA获得超过177个赞
知道答主
回答量:155
采纳率:0%
帮助的人:83.6万
展开全部
就是螺旋装输出是吧?这个写起来是有点烦,这个电脑里现在没有编程工具。给你讲一下思路吧。
定义四个边界(四个整型数),分别代表上/下/左/右四个边界,如上面的话四个边界分别是0/3/0/3.然后定义count = n * n。
然后每输出一个数字count-1,外面是一个大循环当count不等与0.里面是四个while循环表示现在是向哪个方向走,并且一直走到这个方向的边界。你可以再定义一个move,等于1往下走,等于2往左走,以此类推。走到边界的时候改变方向并且相应那个边界+1或者是-1看是哪个边界了。
这样你能明白么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式