pascal 输入n(1<=n<=20),输出n*n的矩阵,且按照一定的规律。

例如,输入3,则输出如下的矩形:1 2 3
4 5 6
7 8 9
样例输入 Sample Input
5

样例输出 Sample Output 1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

program Project1;


{$APPTYPE CONSOLE}


uses

  SysUtils;


procedure doRect(n:Integer);

var i, j, r:longint;

begin

    r:=1;

    for i:=0 to n-1 do begin

        for j:=1 to n do begin

            write(i*r+j:3);

        end;

        writeln('');

        r:=r+1;

    end;

end;


var n:longint;

begin

    Writeln('Input a num and Press ENTER:');

    read(n);

    doRect(n);

    Writeln('Input a num and Press ENTER to exit');

    read(n);

end.




温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-05
var
  n,i,j:longint;
begin
  readln(n);
  for i:=1 to n do
    begin
      for j:=1 to n-1 do write((i-1)*n+j,' ');
      writeln(i*n);
    end;
end.

第2个回答  2013-08-05
var
i,j,k,o,p,n,m:longint;
a:array[1..9,1..9]of longint;
begin
i:=1; j:=1; k:=1;
read(n);
while k<=n*n do
begin
a[i,j]:=k;
dec(i); inc(j); inc(k);
if (i=0) or (j=n+1) then
begin
i:=i+j; j:=1;
if i>n then
begin
j:=1+i-n;i:=n;
end;
end;
end;
for i:=1 to n do
for j:=1 to n do
if j=n then writeln(a[i,j]:3) else write(a[i,j]:3);
end.追问

你写的不对,

追答

你会C语言吗 ?如果会这个很简单的

追问

我不会c语言,抱歉。

pascal高精度算法求n!(带讲解,初学者。满意追加)
输入一个整数n(1<=n<=1000),输入n!的精确值.分析:当n比较大时,n!是一个很大的数,Pascal的实数和整数类型均不能存储,所有考虑用高精度计算.这个问题的情况比较特殊,我们可以把n!看成(n-1)!*n,这样参与乘法的两个数一个是高精度数(n-1)!,另一个是常规的整数n.下面我们看,如何得到n!的...

pascal 的初级题
按顺时针方向自 1 开始顺序报数,报到指定值M时停止报数,报第M的人出列,并将他的密码作为新的M值,从他在顺时针方向的下一人开始,重新从 1 报数,如此类推,直至所有人全部出列为止.试编一程序求出列顺序,其中 N<=30,N及密码数从键盘输入.

pascal的快速幂的矩阵乘法,求详解和具体实现。
一个n行m列的矩阵可以乘以一个m行p列的矩阵,得到的结果是一个n行p列的矩阵,其中的第i行第j列位置上的数等于前一个矩阵第i行上的m个数与后一个矩阵第j列上的m个数对应相乘后所有m个乘积的和。比如,下面的算式表示一个2行2列的矩阵乘以2行3列的矩阵,其结果是一个2行3列的矩阵。其中,结果的那个4等于...

输入n,n=3时,输出 *** *** * *** ***
pascal具体语法不记得了,一个可行的算法如下:分3部分输出 第一部分输出上面那个倒三角(不包括最中间一点)for语句输出(n-1)行,i等于1到n-1;每行输出(i-1)个空格,再输出(2*n-2*i+1)个星号,换行;第二部分输出最中间那个点 输出(n-1)个空格,一个星号;换行;第三部分输出下面...

信息学奥赛初赛近几年的题(pascal)
if n <= num then begin r := n; exit; end; for i :=1 to num do if r(n-i) < 0 then begin r:=i; exit; end; r:=-1;end;begin readln(n); writeln(r(n));end.输入16输出:___4.const size=100;var n,m,x,y,i :integer; r: array[1.. size] of integer; map : arra...

帕斯卡矩阵Pascal矩阵的定义
以4阶帕斯卡矩阵为例,我们可以看到其结构如下:[1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20]在MATLAB的矩阵实验室(Matrix Laboratory)中,有一个名为pascal的函数,它为用户提供了极大的便利。只需要在MATLAB命令窗口中输入A=pascal(n),这里n是一个正整数,函数就会生成一个对应阶数的帕斯卡...

输入n(1<=n<=5000)个正整数,每个数都在1到20000之间;要求对这n个数中...
var n,x,i,s1,s2:longint;begin s1:=0; s2:=0;for i:=1 to n do begin read(x);if odd(x) then inc(s1,x) else inc(s2,x);end;writeln('Ji Shu He=',s1);writeln('Ou Shu He=',s2);end.

pascal输入n名同学的成绩(0-100),运用选择排序算法为成绩从高到底排序...
var a,b:array[1..1000] of longint;n,i,j,k:longint;begin readln(n);for i:=1 to n do readln(a[i]);for i:=1 to n do begin k:=1;for j:=2 to n do if a[j]>a[k] then k:=j;b[i]:=a[k];a[k]:=0;end;for i:=1 to n do writeln(b[i]);end.

pascal每行写10个数
输入N 每行10个 共N个;随机打印1--100 间整数 var i,n:integer;begin readln(n);randomize;for i:=1 to n do if (i mod 10)= 0 then writeln else write(random(100),' ');end.输入n个数 每行十个打印 var i,n,k:integer;begin readln(n);for i:=1 to n do begin read...

我想要<青少年信息学(计算机)奥林匹克初级组复赛试卷及答案》
【输入】输入文件drawing.in第一行有用空格隔开的两个整数m和n,表示有m*n个格子(1<=m,n<=50)。接下来的m行,是一个m*n的矩阵,每行有n个用空格隔开的整数,其中第i行第j列上的整数表示第i行第j列的格子上摞有多少个积木(1<=每个格子上的积木数<=100)。【输出】输出文件drawing.out中包含题目要求的...

相似回答