分数统计降幂排列c语言,2016C语言习题全集及答案:附加题05.doc

2016C语言习题全集及答案:附加题05

附加题

建立两个链表,来表示x幂的两个多项式,链表中的结点有三个字段coef、exp和next,分别表示多项式每项的系数、x的指数及指向下一项的指针。编一程序,按x的降幂输入多项式的系数和指数,建立两个链表,然后编一函数来完成把两个多项式的链表叠加到第三个链表中。例如:

第一个多项式为: -4x8 +5x6 +3x4 -4x的链表为:

-4 8 5 6 3 4 -4 1

第二个多项式为: 5x9 -5x8 -3x4 +7x的链表为:

5 9 -9 8 5 6 3 1

结果的多项式为: 5x9 -9x8 +5x6 +3x

5 9 -9 8 5 6 3 1

编程把链表(1)变成链表(2)。

head

(1) data next data next data next

记录1 记录2 记录3

data next data next

记录4 记录5

head

(2) data next data next data next

记录1 记录2 记录3

data next data next

记录4 记录5

把下面(1)、(2)两个有序链表合并为一个链表(3),合并之后链表仍有序。

(1) first 10 30 90

(2) second 45 100

(3) first

10 30 45 90 100

填写n阶(n>2)纵横图(纵横图又称魔方阵、幻方)。

纵横图是指这样一种方阵,它的每一行和每一列以及两个对角线上的每一元素之和都是相等的。最普通的纵横图由 1到n2个自然数构成。沿每行、每列及对角线的各数之和为 1/2×n(n2+1),称为纵横图常数。

例如:3×3的纵横图如下图所示,它的每行、每列及对角线各数之和为1/2×3×(9+1)=15。一个 n阶纵横图便是一个n×n的矩阵。每个格中放一个数,共可放n2个数,请你把整数 1到整数n2分别放入各格中,且使每行的和、每列的和以及两个对角线上的和均相等。

(一)填写方法分析:

1)奇阶纵横图

举个最简单的例子(3阶纵横图的填法)。 画一正方形,把它分为九个格,按左下图的样子依斜线方向将1~9各数顺序填入图内。正方形外的数字填到图内与它相反的那面(仍在原行),结果得到右下图的正方形。

3

2 7 6 9 5 1 4 3 8 2 6

1 5 9

4 8

7

当n为奇数,n阶方阵共有n2个数,排序为1、2、…、n2。按数的排序依次填入 n阶方阵中每个空格。以下图的5阶方阵为例:

11 10 4 23 17 18 12 6 5 24 25 19 13 7 1 2 21 20 14 8 9 3 22 16 15填法如下:

⑴先将1填在行、列位置为((n+1)/2,n),即1填在((5+1)/2,5)

=(3,5)的3行、5列位置上;

⑵继续在该位置所在的对角线上(斜线)上,由左上往右下依次填;

⑶若列出界,则当前行加1,以n为模的余数为应填的列数。

⑷若行出界, 则当前行加1,以n为模的余数为应填的行数。

⑸若应填的位置上行、列并未出界,却已填上它数,应在当前位置左横移一个

你可能感兴趣的:(分数统计降幂排列c语言)