回 帖 发 新 帖 刷新版面

主题:蛇行方阵

要求输入N,输出N*N的蛇行方阵。
例如,输入
7
输出
1  3  4  10  11  21  22  
2  5  9  12  20  23  34
6  8  13 19  24  33  35
7  14 18 25  32  36  43
15 17 26 31  37  42  44
16 27 30 38  41  45  48
28 29 39 40  46  47  49

回复列表 (共1个回复)

沙发

var
  s:array[1..100,1..100]of integer;
  i,j,n,m,k,l:integer;
begin
  while not seekeof do
  begin
  readln(n);m:=1;
  for l:=1 to n do
    begin
      i:=l;j:=1;
      for k:=1 to l do
        begin
          s[i,j]:=m;inc(m);
          dec(i);inc(j);
        end;
    end;
  for i:=1 to n do
    begin
      for j:=1 to n-i do write(s[i,j],' ');
      writeln(s[i,n-i+1]);
    end;
  end;
end.

我来回复

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