pascal语言蛇形矩阵程序 如下 :
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/23 23:10:21
pascal语言蛇形矩阵程序 如下 :
program ex9;
var
a:array[1..10,1..10]of integer;
d,n,i,j,m,x:integer;
begin
readln(n);
i:=1;j:=1;d:=1;m:=1;
repeat a[i,j]:=m;
case d of
1:begin i:=i+1;
if j=1 then d:=2
else d:=4;
end;
2:begin i:=i-1;j:=j+1;
if j=N then d:=1
else if i=1 then d:=3;
end;
3:begin j:=j+1;
if i=N then d:=2
else d:=4;
end;
4:begin i:=i+1;j:=j-1;
if i=N then d:=3
else if j=1 then d:=1;
end;
end;
m:=m+1;
until m>n*n;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
readln;
end.
program ex9;
var
a:array[1..10,1..10]of integer;
d,n,i,j,m,x:integer;
begin
readln(n);
i:=1;j:=1;d:=1;m:=1;
repeat a[i,j]:=m;
case d of
1:begin i:=i+1;
if j=1 then d:=2
else d:=4;
end;
2:begin i:=i-1;j:=j+1;
if j=N then d:=1
else if i=1 then d:=3;
end;
3:begin j:=j+1;
if i=N then d:=2
else d:=4;
end;
4:begin i:=i+1;j:=j-1;
if i=N then d:=3
else if j=1 then d:=1;
end;
end;
m:=m+1;
until m>n*n;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
readln;
end.
program ex9;
var
a:array[1..10,1..10]of integer;【矩阵10*10】
d【判别符号】,n【矩阵大小】,i【横坐标】,j【纵坐标】,m【次数,赋值大小】,x【不好意思,我没看见】:integer;
begin
readln(n);
i:=1;j:=1;d:=1;m:=1;
repeat a[i,j]:=m【赋值a[i,j]】;
case d of
1:begin i:=i+1;【向右移动1个单位】
if j=1 then d:=2
else d:=4;
end;
2:begin i:=i-1;j:=j+1;【向左下移动】
if j=N then d:=1
else if i=1 then d:=3;
end;
3:begin j:=j+1;【向下移动一个个单位】
if i=N then d:=2
else d:=4;
end;
4:begin i:=i+1;j:=j-1;【向右上移动】
if i=N then d:=3
else if j=1 then d:=1;
end;
end;
m:=m+1;
until m>n*n;
for i:=1 to n do【输出n行】
begin
for j:=1 to n do write(a[i,j]:4);【输出a[i,j],占4个单位】
writeln;【换行】
end;
readln;【等待用户反应】
end.
var
a:array[1..10,1..10]of integer;【矩阵10*10】
d【判别符号】,n【矩阵大小】,i【横坐标】,j【纵坐标】,m【次数,赋值大小】,x【不好意思,我没看见】:integer;
begin
readln(n);
i:=1;j:=1;d:=1;m:=1;
repeat a[i,j]:=m【赋值a[i,j]】;
case d of
1:begin i:=i+1;【向右移动1个单位】
if j=1 then d:=2
else d:=4;
end;
2:begin i:=i-1;j:=j+1;【向左下移动】
if j=N then d:=1
else if i=1 then d:=3;
end;
3:begin j:=j+1;【向下移动一个个单位】
if i=N then d:=2
else d:=4;
end;
4:begin i:=i+1;j:=j-1;【向右上移动】
if i=N then d:=3
else if j=1 then d:=1;
end;
end;
m:=m+1;
until m>n*n;
for i:=1 to n do【输出n行】
begin
for j:=1 to n do write(a[i,j]:4);【输出a[i,j],占4个单位】
writeln;【换行】
end;
readln;【等待用户反应】
end.