小白螺旋矩阵求助

实在不知道哪里出问题了 大佬们救救孩子吧

#include<stdio.h>
int main()
{
int i,j,n,k,l,c=1;
int a[n][n];
//输入
scanf("%d",&n);
//几圈
if(n%2==0) k=n/2;
else k=(n-1)/2;
//赋值
for(l=1;l<=k;l++)
{
for(i=(l-1);i<=(n-l-1);i++)//列不变 行变大
{
a[i][n-l]=c;
c++;
}
for(j=(n-l);j>=l;j--)//行不变 列变小
{
a[n-l][j]=c;
c++;
}
for(i=(n-l);i>=l;i--)//列不变 行变小
{
a[i][l-1]=c;
c++;
}
for(j=(l-1);j<=(n-1-l);j++)//行不变 列变大
{
a[l-1][j]=c;
c++;
}
}
//中心点
if(n%2!=0)
{
a[(n-1)/2][(n-1)/2]=c;
}
//输出
for(i=0;i<=(n-1);i++)
{
for(j=0;j<=(n-1);j++)
{
if(j==(n-1)) printf("%d\n",a[i][j]);
else printf("%d ",a[i][j]);
}
}
return 0;
}
...全文
相关推荐
C++螺旋矩阵C++螺旋矩阵C++螺旋矩阵C++螺旋矩阵
C++螺旋矩阵C++螺旋矩阵C++螺旋矩阵C++螺旋矩阵C++螺旋矩阵C++螺旋矩阵C++螺旋矩阵C++螺旋矩阵
螺旋矩阵c语言实现(完整)
螺旋矩阵完整,用c语言实现,正,逆螺旋矩阵!
C语言 经典题目螺旋矩阵 实例详解
主要介绍了C语言 经典题目螺旋矩阵 实例详解的相关资料,这里附有代码实例及实现效果图,需要的朋友可以参考下
C++实现螺旋矩阵分析总结
螺旋矩阵,是这么一个东西: 1 2 3 8 9 4 7 6 5 这是一个,n*n的矩阵,由外向里一次递增,一环一环,好像一个螺旋一样。不难想象,如果n=5,那么应该是这样的: 当然,这是的一道笔试程序题,实话说,第一眼看到,还真不会做,因为,c++的数组下标无法从控制台读入。反正是基础不行,看上去也很难。但是,第二天仔细一想,其实是有规律可循的,于是,开始做了。因为比较时间有限,而且能力有限,所以有什么更好的方法,欢迎补充。一开始的想法是比较麻烦的,是每一条螺旋的边,做一个循环,想法是这样的: 1 2 3 8
C++实现:螺旋矩阵的实例代码
螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开 始到右边不断变大,向下变大, 向左变大,向上变大,如此循环。


新手乐园

