加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS  
您当前的位置:首页 > 经典解题 > 在线题库解题

1093回形方阵

时间:2011-12-11 10:46:28  来源:海平课堂  作者:Bluesea

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.

 

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资料
Free Pascal 语言与基础算法 第三版 课件
Free Pascal 语言与基
NOIP1996-2010普及组  初赛试题及答案
NOIP1996-2010普及组
复赛常用算法代码
复赛常用算法代码
信息学奥林匹克中级班培训教程
信息学奥林匹克中级班
相关文章
栏目更新
栏目热门