#include <stdio.h>
int main()
{
int a[5][5];
int x,y,num;
int n=5;
int round;
num=1;
for(round=0; round<n/2; round++)
{
/* 以下循环执行后输出如下:
1 2 3 4 5
*/
x = round;
for(y=round;y<n-round;y++)
{
a[x][y]=num;
num++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
6
7
8
*/
y = n - round - 1;
for(x=round+1;x<n-round-1;x++)
{
a[x][y]=num;
num++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
6
7
8
13 12 11 10 9
*/
x = n - round - 1;
for(y=n-round-1;y>=round;y--)
{
a[x][y]=num;
num++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
16 6
15 7
14 8
13 12 11 10 9
*/
y = round;
for(x=n-round-1-1;x>round;x--)
{
a[x][y]=num;
num++;
}
}
for(x=0;x < n;x++)
{
for(y=0;y<n;y++)
{
printf("%3d",a[x][y]);
}
printf("\n");
}
return 0;
}
int main()
{
int a[5][5];
int x,y,num;
int n=5;
int round;
num=1;
for(round=0; round<n/2; round++)
{
/* 以下循环执行后输出如下:
1 2 3 4 5
*/
x = round;
for(y=round;y<n-round;y++)
{
a[x][y]=num;
num++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
6
7
8
*/
y = n - round - 1;
for(x=round+1;x<n-round-1;x++)
{
a[x][y]=num;
num++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
6
7
8
13 12 11 10 9
*/
x = n - round - 1;
for(y=n-round-1;y>=round;y--)
{
a[x][y]=num;
num++;
}
/* 以下循环执行后输出如下:
1 2 3 4 5
16 6
15 7
14 8
13 12 11 10 9
*/
y = round;
for(x=n-round-1-1;x>round;x--)
{
a[x][y]=num;
num++;
}
}
for(x=0;x < n;x++)
{
for(y=0;y<n;y++)
{
printf("%3d",a[x][y]);
}
printf("\n");
}
return 0;
}
1122

被折叠的 条评论
为什么被折叠?



