回 帖 发 新 帖 刷新版面

主题:刚学了一点PASCAL请教一下螺旋方阵怎么做

打印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个回复)

沙发

请帮帮我谢谢

板凳

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 楼

[font=~{KNLe~}]~{DGJ1K3J1Uk5D#,DfJ1Uk5DOHWT<:MF!#~}[/font]

4 楼

[font=~{KNLe~}]~{DGJGK3J1Uk5D!#~}[/font]

5 楼

[font=~{KNLe~}]USACO~{5DMxV7JG6`IY#?~}[/font]~{TuQyUR5=M(9X5D5X7=#?~}

6 楼

谢谢了

7 楼

[font=~{KNLe~}]~{2;8x7VBp#?~}[/font]

8 楼

正的怎么打呢??

9 楼

编译同不过

我来回复

您尚未登录,请登录后再回复。点此登录或注册