C语言测试题(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目1:除不尽的数

一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。求这个自然数。

*运行结果

The required number is:1993

题目2:要发就发

“1898--要发就发”。请将不超过1993的所有素数从小到大排成第一行,第二行上的每个素数都等于它右肩上的素数之差。编程求出:第二行数中是否存在这样的若干个连续的整数,它们的和恰好是1898?假好存在的话,又有几种这样的情况?

第一行:2 3 5 7 11 13 17......1979 1987 1993

第二行:1 2 2 4 2 4 (8)

运行结果

There are follwing primes sequences in first row:

(1).89,......,1987

(2).53,......,1951

(3). 3,......,1901

题目3:填表格

将1、2、3、4、5和6 填入下表中,要使得每一列右边的数字比左边的数字大,每一行下面的数字比上面的数字大。按此要求,可有几种填写方法?

. . .

. . . /*两个点之间为表格*/

*运行结果

The possble table satisfied above conditions are:

No.1: No.2: No.3: No.4: No.5:

1 2 3 1 2 4 1 2 5 1 3 4 1 3 5

4 5 6 3 5 6 3 4 6 2 5 6 2 4 6

题目4:

1.黑白子交换

有三个白子和三个黑子如下图布置:

○○○ . ●●●

游戏的目的是用最少的步数将上图中白子和黑子的位置进行交换:

●●● . ○○○

游戏的规则是:(1)一次只能移动一个棋子;(2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子。请用计算机实现上述游戏。

*问题分析与算法设计

计算机解决胜这类问题的关键是要找出问题的规律,或者说是要制定一套计算机行动的规则。分析本题,先用人来解决问题,可总结出以下规则:

(1) 黑子向左跳过白子落入空格,转(5)

(2) 白子向右跳过黑子落入空格,转(5)

(3) 黑子向左移动一格落入空格(但不应产生棋子阻塞现象),转(5)

(4) 白子向右移动一格落入空格(但不应产生棋子阻塞现萌),转(5)

(5) 判断游戏是否结束,若没有结束,则转(1)继续。

所谓的“阻塞”现象就是:在移动棋子的过程中,两个尚未到位的同色棋子连接在一起,使棋盘中的其它棋子无法继续移动。例如按下列方法移动棋子:

○○○ . ●●●

1 ○○ . ○●●●

2 △○○●○ . ●●

3

○○● . ○●●

4 两个●连在一起产生阻塞

○○●●○ . ●

或4 两个白连在一起产生阻塞

○ . ●○○●●

产生阻塞的现象的原因是在第2步(△状态)时,棋子○不能向右移动,只能将●向左移动。

总结产生阻塞的原因,当棋盘出现“黑、白、空、黑”或“白、空、黑、白”状态时,不能向左或向右移动中间的棋子,只移动两边的棋子。

题目5:

题目描述:

八方块移动游戏要求从一个含8个数字(用1-8表示)的方块以及一个空格方块(用0表示)的3x3矩阵的起始状态开始,不断移动该空格方块以使其和相邻的方块互换,直至达到所定义的目标状态。空格方块在中间位置时有上、下、左、右4个方向可移动,在四个角落上有2个方向可移动,在其他位置上有3个方向可移动。例如,假设一个3x3矩阵的初始状态为:

8 0 3

2 1 4

7 6 5

目标状态为:

1 2 3

8 0 4

7 6 5

则一个合法的移动路径为:

8 0 3 8 1 3 8 1 3 0 1 3 1 0 3 1 2 3

2 1 4 => 2 0 4 => 0 2 4 => 8 2 4 => 8 2 4 => 8 0 4

7 6 5 7 6 5 7 6 5 7 6 5 7 6 5 7 6 5

另外,在所有可能的从初始状态到目标状态的移动路径中,步数最少的路径被称为最短路径;在上面的例子中,最短路径为5。如果不存在从初试状态到目标状态的任何路径,则称该组状态无解。

相关文档
最新文档