资源描述
上机练习:
1. 随机产生n个整数(500以内)存放在ex1.out中,每行10个整数,每两个整数之间用空格隔开(行尾没有空格)。
2、求一个5×5数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:
5 6 7 8 9
4 5 6 7 8
3 4 5 2 1
2 3 4 9 0
1 2 5 4 8
则1行1列上的数就是马鞍数。
输入文件:number.in
共n+1行,第一行: n m
第2到n+1行:每行m个整数
输出文件:number.out
输出一行:如果存在马鞍数,则输出行和列以及马鞍数。
3.数学黑洞 heidong.pas
已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即7461-1467=6174。将永远出不来。求证:所有四位数字(全相同的除外),均能得到6174。输出掉进黑洞的步数。
输入文件:heidong.in
共一行: n(四位正整数)
输出文件:heidong.out
共一行:步数。
4、回形方阵huixing.pas
任给n,试输出如下方阵,例如: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
输入文件:huixing.in
文件包含一个正整数,即阶数n。
输出文件:huixing.out
文件包含n行,每行n个数的回形方阵。
输出时每个数据之间空一格。
5.拉丁方阵(lading.pas)
一个N×N的拉丁正方形含有整数1~N,且在任意的行或列中都不出现重复数据,一种可能的6×6拉丁正方形如下:
6 3 1 4 2 5
1 4 5 6 3 2
5 6 2 1 4 3
2 1 3 5 6 4
3 5 4 2 1 6
4 2 6 3 5 1
该拉丁方阵的产生方法是:当给出第一行数后,就决定了各数在以下各行的位置,比如第一行的第一个数为6,则该数在1—6行的列数依次为1,4,2,5,6,3。即第一行数为各数在每行中列数的索引表。请你写一个程序,产生按上述方法生成的拉丁方阵。
输入文件为lading.in
一共有两行,第一行为一个数N。
第二行有N个数,为拉丁方阵的第一行。
输出文件:lading.out
为N*N的拉丁方阵。每个数据之间空一格。
样例输入:
6
6 3 1 4 2 5
样例输出
6 3 1 4 2 5
1 4 5 6 3 2
5 6 2 1 4 3
2 1 3 5 6 4
3 5 4 2 1 6
4 2 6 3 5 1
6、蛇形方阵。(snake.pas)
任给n,试按如下方式对A[I,j]赋值,例如:
Enter n : 6
1 2 6 7 15 16
3 5 8 14 17 26
4 9 13 18 25 27
10 12 19 24 28 33
11 20 23 29 32 34
21 22 30 31 35 36
输入文件:snake.in
文件包含一个正整数,即阶数n。
输出文件:snake.out
文件包含n行,每行n个数的蛇形方阵。
输出时每个数据之间空一格。
展开阅读全文