用c语言如何设计螺旋方阵

来源:百度知道 编辑:UC知道 时间:2024/05/30 14:37:14
设计成1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

#include <stdio.h>
void main()
{
int i = 0;
int j = 0;
int k = 0;
int data[20][20]={0};
int count = 0;
int N = 0;
printf("Input an integer N:\n");
scanf("%d",&N);

for(k = 0;k < N/2;k ++)
{
for(i = k;i < N-k;i++)
data[k][i] = ++count;
for(i = k+1;i < N -k;i++)
data[i][N-k-1] = ++count;
for(i = N-k-2;i > k; i--)
data[N-k-1][i] = ++count;
for(i = N-k-1;i > k;i --)
data[i][k] = ++count;
}
if(N % 2 != 0)
data[N/2][N/2] = N*N;
for(i = 0;i < N;i ++)
{
for(j = 0;j < N;j ++)
printf("%d\t",data[i][j]);
printf("\n");
}
}