A05-013 回形方阵
描述
任给n(n<=198),试输出如下回形方阵,例如:
n=7
1 1 1 1 1 1 1
1 2 2 2 2 2 1
1 2 3 3 3 2 1
1 2 3 4 3 2 1
1 2 3 3 3 2 1
1 2 2 2 2 2 1
1 1 1 1 1 1 1
输入
一个整数n(n<=198)。
输出
n*n的回形方阵。每个数的单场宽为2.
样例输入
8
样例输出
1 1 1 1 1 1 1 1
1 2 2 2 2 2 2 1
1 2 3 3 3 3 2 1
1 2 3 4 4 3 2 1
1 2 3 4 4 3 2 1
1 2 3 3 3 3 2 1
1 2 2 2 2 2 2 1
1 1 1 1 1 1 1 1
参考程序一:模拟
program ex2_2(Input,Output);
var
a:array[1..198,1..198] of integer;
i,j,k,n:integer;
begin
readln(n);
for k:=1 to (n+1)div 2 do
for i:=k to n+1-k do
for j:=k to n+1-k do
a[i,j]:=k;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:2);
writeln;
end;
end.
参考程序2
PROGRAM exam;
VAR
n,i,j,k,mi,ma:integer;
begin
readln(n);
for i:=1 to n do
begin
if i>=n+1-i then ma:=i else ma:=n+1-i;
mi:=n+1-ma; k:=1;
for j:=1 to n do
begin
write(k:2);
if j<mi then k:=k+1
else if j>=ma then k:=k-1;
end;
writeln
end;
end.
|