pascal:螺旋方阵 SOS!Description输出n圈的螺旋方阵.Input只有一行且只有一个正整数:n ( 1 < n < 10 )Output从左上角开始,每个数据占用4个字符位置,按顺时针方向输出Sample Input3Sample Output1 2 3 4 5 620 21 22

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 19:43:02
pascal:螺旋方阵 SOS!Description输出n圈的螺旋方阵.Input只有一行且只有一个正整数:n ( 1 < n < 10 )Output从左上角开始,每个数据占用4个字符位置,按顺时针方向输出Sample Input3Sample Output1 2 3 4 5 620 21 22

pascal:螺旋方阵 SOS!Description输出n圈的螺旋方阵.Input只有一行且只有一个正整数:n ( 1 < n < 10 )Output从左上角开始,每个数据占用4个字符位置,按顺时针方向输出Sample Input3Sample Output1 2 3 4 5 620 21 22
pascal:螺旋方阵 SOS!
Description
输出n圈的螺旋方阵.
Input
只有一行且只有一个正整数:n ( 1 < n < 10 )
Output
从左上角开始,每个数据占用4个字符位置,按顺时针方向输出
Sample Input
3
Sample Output
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
Source
基础题

pascal:螺旋方阵 SOS!Description输出n圈的螺旋方阵.Input只有一行且只有一个正整数:n ( 1 < n < 10 )Output从左上角开始,每个数据占用4个字符位置,按顺时针方向输出Sample Input3Sample Output1 2 3 4 5 620 21 22
var
n:longint;
d:array [1..20,1..20] of longint;
i,j,k,t:longint;
begin
readln(n);
t:=0;
for i:=1 to n do
begin
for j:=i to 2*n-i do
begin
inc(t);
d[i,j]:=t;
end;
for j:=i to 2*n-i do
begin
inc(t);
d[j,2*n-i+1]:=t;
end;
for j:=2*n-i+1 downto i+1 do
begin
inc(t);
d[2*n-i+1,j]:=t;
end;
for j:=2*n-i+1 downto i+1 do
begin
inc(t);
d[j,i]:=t;
end;
end;
for i:=1 to 2*n do
begin
for j:=1 to 2*n do
begin
write(d[i,j]);
if j2*n then write(' ');
end;
writeln;
end;
end.