您当前的位置:首页 >> 教学教研 >> 技术组 >> 信息竞赛
数组/if嵌套/for循环

program ep4_9;
var
   r,c,n,t,tryr,tryc:integer;
   a:array[1..19,1..19] of integer;
begin
   readln(n);
   for r:=1 to n do
     for c:=1 to n do
         a[r,c]:=0;
   t:=1;
   r:=1;
   c:=(n+1) div 2;
   a[r,c]:=t;
   t:=2;
   while t<=n*n do begin;
      tryr:=r-1;
      tryc:=c+1;
      if (tryr<1)and(tryc>n) then begin
         r:=tryr+2;
         c:=tryc-1;
      end
      else if tryr<1 then begin
              r:=n;
              c:=tryc;
           end
           else if tryc>n then begin
                   c:=1;
                   r:=tryr;
                end
                else if a[tryr,tryc]<>0 then begin
                        r:=tryr+2;
                        c:=tryc-1;
                     end
                     else begin
                        r:=tryr;
                        c:=tryc;
                     end;
                a[r,c]:=t;
                t:=t+1;
    end;
    for r:=1 to n do begin
       for c:=1 to n do
          write(a[r,c]:3);
       writeln
    end;
    readln
end.


| | | |
Powered by SiteServer CMS