永发信息网

pascal语言写蛇形矩阵出错

答案:1  悬赏:20  手机版
解决时间 2021-04-11 14:54

Description

小明玩一个数字游戏,取个n行n列数字矩阵(其中n不超过100),数字的填补方法为:从1开始以顺时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和.

Input

n(即n行n列)

Output

n+1行,n行为组成的矩阵,最后一行为对角线数字之和

Sample Input

3

Sample Output

789

612

543

25

我写了一个程序,输入10以内的数没事,从10开始编译就返回201,请教高手

var
a:array[1..100,1..100] of longint;
n,i,j,sum,cishu,m:longint;
sum2:longint;
procedure paizhen(n:longint);
var s:integer;
begin
if n=1 then begin writeln(1);writeln(1);halt;end;
if n=2 then begin writeln(1,2);writeln(4,3);writeln(10);halt;end;
if (n mod 2)<>0 then begin i:=n div 2+1;j:=i;end
else begin i:=n div 2;j:=i;end;
a[i,j]:=1;a[i,j+1]:=2;a[i+1,j+1]:=3;
i:=i+1;j:=j+1;sum:=3;cishu:=3;m:=2;
while sum<n*n do
begin
case cishu of
1:begin
for s:=1 to m do
begin
j:=j+1;
sum:=sum+1;
a[i,j]:=sum;
end;
end;
2:begin
for s:=1 to m do
begin
i:=i+1;
sum:=sum+1;
a[i,j]:=sum;
end;
end;
3:begin
for s:=1 to m do
begin
j:=j-1;
sum:=sum+1;
a[i,j]:=sum;
end;
end;
4:begin
for s:=1 to m do
begin
i:=i-1;
sum:=sum+1;
a[i,j]:=sum;
end;
end;
end;
if cishu=2 then begin cishu:=cishu+1;m:=m+1;end
else if cishu=4 then begin cishu:=1;m:=m+1 end
else cishu:=cishu+1;
end;
end;
begin
readln(n);
paizhen(n);
if odd(n) then sum2:=-1 else sum2:=0;
for i:=1 to n do sum2:=sum2+a[i,i];
for i:=1 to n do sum2:=sum2+a[n-i+1,i];
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]);
writeln;
end;
writeln(sum2);
end.

最佳答案
看不下去
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
DNF最高多少级?
对写人神态作文的评语,作文,描写人物的优美
非洲黑人 皮肤那么黑 骨头是不是也是黑的?是
单选题Ittookyearsofplanningandsavingand
我的工作怎么办
缪斯商务酒店这个地址在什么地方,我要处理点
出租车属于什么行业,自行车出租店要营业执照
读右图,按要求回答问题(1)将图中数码所代
如何降解水产养殖重金属
跪求赤西仁和龜梨和也的 AKizuna电子书的第三
表示熟能生巧的诗句,熟能生巧名言警句
2009年狮子座流星雨辽宁本溪能看到不
学美容需要多少钱?
春明百货批发部在什么地方啊,我要过去处理事
为什么有的人得问题没有几个人回答,而有的问
推荐资讯
谁有I still believe 的歌词
若=4,则x的值为A.2B.±2C.16D.±4
关于学车踩离合器
109级比武LG,应该佩带什么装备?
海尔兄弟为什么只穿内裤?
鑫红百货销售中心怎么去啊,有知道地址的么
哪个网站多点电视剧看呀~
关于热爱家乡的诗歌,爱家乡诗歌
网恋真的会有结果吗?
单选题微波通信需要中继站,其原因是A.微波信
乐邦美国纳米壁纸信誉度
仅仅有一次造句
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?