PASCAL问题!急

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:01:39
2道题
1:螺旋方阵,输入N,输出图形。(n<=9单数)
如n=3
输出:
123
894
765

2:拉丁方阵,输入N,输出图形。(n<=9单数)
如n=3
输出:
ABC
CAB
BCA

先谢谢各位回答啦!

program 第一题;
var
i,j,k,n,dire,m:integer;
a:array[0..10,0..10] of integer;
begin
readln(n);
i:=0; j:=1;
m:=n*n; dire:=1;
for k:=1 to m do
begin
case dire of
1:begin i:=i+1; if (i+1>n)or(a[j,i+1]>0) then dire:=2 end;
2:begin j:=j+1; if (j+1>n)or(a[j+1,i]>0) then dire:=3 end;
3:begin i:=i-1; if (i-1<1)or(a[j,i-1]>0) then dire:=4 end;
4:begin j:=j-1; if (j-1<1)or(a[j-1,i]>0) then dire:=1 end;
end;
a[j,i]:=k;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.

program 第二题;
var
a:array[1..9] of char;
i,j,k,n:integer;
c:char;
begin
read(n);
for i:=1 to n do a[i]:=chr(64+i);
for i:=1