c语言二维数组,输入4,5;输出如下

来源:百度知道 编辑:UC知道 时间:2024/06/18 10:13:48
input n=
5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
input n=
4
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

#include<stdio.h>
void main()
{
int n;
int i,j,k;
int row, col;
int UP, DOWN, LEFT, RIGHT;
int a[10][10];

printf("input n=\n");
scanf("%d", &n);
UP=0,DOWN=n-1,LEFT=0,RIGHT=n-1;

for(k=1;k<=n*n;)
{
//right
row=UP;col=LEFT;
for(;col<=RIGHT;col++)
a[row][col]=k++;
UP++;
//down
row=UP;col=RIGHT;
for(;row<=DOWN;row++)
a[row][col]=k++;
RIGHT--;
//left
row=DOWN;col=RIGHT;
for(;col>=LEFT;col--)
a[row][col]=k++;
DOWN--;
//up
row=DOWN;col=LEFT;
for(;row>=UP;row--)
a[row][col]=k++;
LEFT++;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%2d ",a[i][j]);
printf("\n");
}
}

#include<stdio.h>
#define N 100

void draw_circle(int m, int n,int * start, int p