主题:刚学了一点PASCAL请教一下螺旋方阵怎么做
xuzhenyi
[专家分:850] 发布于 2005-03-02 20:28:00
打印N*N(N<10)的螺旋方阵(分顺时针和逆时针)
例如:N=4 时
顺时针 逆时针
1 2 3 4 4 3 2 1
12 13 14 5 5 14 13 12
11 16 15 6 6 15 16 11
10 9 8 7 7 8 9 10
谢谢
回复列表 (共9个回复)
沙发
xuzhenyi [专家分:850] 发布于 2005-03-05 14:34:00
请帮帮我谢谢
板凳
MK [专家分:110] 发布于 2005-03-05 18:34:00
var j:integer;
n,i,k,x,y:byte;
r:array[1..25,1..25]of byte;
begin
write('n=');readln(n);
for x:=1 to n do
for y:=1 to n do r[x,y]:=0;
x:=0;y:=n;i:=0;k:=n;j:=1;
while i<n*n do
begin
for i:=i+1 to i+k do
begin
x:=x+j;
r[x,y]:=i;
end;
dec(k);
if j=1 then j:=-1 else j:=1;
for i:=i+1 to i+k do
begin
y:=y+j;
r[x,y]:=i;
end;
end;
for x:=1 to n do
begin
for y:=1 to n do write(r[x,y]:3);
writeln;
end;
end.
[font=~{KNLe~}]~{UbJGK3J1Uk5D#,DfJ1Uk5DOHWT<:MF!#~}[/font]
3 楼
MK [专家分:110] 发布于 2005-03-05 18:36:00
[font=~{KNLe~}]~{DGJ1K3J1Uk5D#,DfJ1Uk5DOHWT<:MF!#~}[/font]
4 楼
MK [专家分:110] 发布于 2005-03-05 18:37:00
[font=~{KNLe~}]~{DGJGK3J1Uk5D!#~}[/font]
5 楼
MK [专家分:110] 发布于 2005-03-05 19:42:00
[font=~{KNLe~}]USACO~{5DMxV7JG6`IY#?~}[/font]~{TuQyUR5=M(9X5D5X7=#?~}
6 楼
xuzhenyi [专家分:850] 发布于 2005-03-06 15:49:00
谢谢了
7 楼
MK [专家分:110] 发布于 2005-03-09 18:30:00
[font=~{KNLe~}]~{2;8x7VBp#?~}[/font]
8 楼
编程黑客 [专家分:1660] 发布于 2005-11-23 22:18:00
正的怎么打呢??
9 楼
ly365 [专家分:0] 发布于 2005-11-27 18:29:00
编译同不过
我来回复