螺旋数组是整数的一种排列方式
编写一个程序,能够任意输出一个螺旋数组
思想就是:根据螺旋数组的特性,用for循环分为四部分:上、右、下、左
上按照从左到右
右从上到下
下从右到左
左从下到上
代码实现如下:
#include<stdio.h>
int main()
{
int i,j,num; //i是行,j是列,num是数
int a[100][100]; //定义一个二维数组
int n; //定义矩阵的行数=列数
printf("请输入n的值");
scanf("%d",&n); //输入行数
num=1; //定义num初值
for(i=0;i<n;i++) //行数循环
{
for(j=i;j<n-i;j++) //上半行 从左向右
a[i][j]=num++;
for(j=i+1;j<n-i;j++) //右侧列 从上到下
a[j][n-i-1]=num++;
for(j=n-i-2;j>=i;j--) //下半行 从右向左
a[n-i-1][j]=num++;
for(j=n-i-2;j>i;j--) //右侧列 从上到下
a[j][i]=num++;
}
for(i=0;i<n;i++) //输出矩阵
{
for(j=0;j<n;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
10*10的螺旋矩阵
就是这样啦~