当前位置:首页 >> 计算机软件及应用 >>

C语言智力题目


1、 发行一套四种不同面值的邮票,限定使用时不超过 3 枚,为了能连续贴出 1,2,...,r 的面值, 如 何确定四种面值,使 r 最大? 3、 取石子。 该游戏规则如下: 操作者先输入一个奇数 N(<200)表示 N 个石子. 设计算机为 A 方,操作者为 B 方, 双方轮流取石子,每次取 1-3 个. 最后取到石子总数为奇数的一方获胜. 编制程序使计算机有较多的获胜机会。 4、给定等式 ABCD E DFG + DFG ─────── XYZDE 其中每个字母代表一个数字, 且不同数字对应不同字母。 编程求出这些数字并且打出这个数 字的算术计算竖式

5、A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了 竞赛: (1)A参加时,B也参加; (2)B和C只有一个人参加; (3)C和D或者都参加,或者都不参加; (4)D和E中至少有一个人参加; (5)如果E参加,那么A和D也都参加。

7、四人玩火柴棍游戏,每一次都是三个人赢,一个人输。输的人要按赢者手中的火柴数进 行赔偿,即赢者手中有多少根火柴棍,输者就赔偿多少根。现知道玩过四次后,每人恰好输 过一次, 而且每人手中都正好有 16 根火柴。 问此四人做游戏前手中各有多少根火柴? 编程 解决此问题。

8、巧排数字。将1、2、.、20这20个数排成一排,使得相邻的两个数之和为一个素 .. 数,且首尾两数字之和也为一个素数。编程打印出所有的排法。

9、 有 N 个硬币(N 为偶数)正面朝上排成一排,每次将 N-1 个硬币翻过来放在原位置, 不断地重复上述过程, 直到最后全部硬币翻成反面朝上为止。 编程让计算机把翻币的最简过 程及翻币次数打印出来(用*代表正面,O 代表反面) 。 10、有黑白棋子各有N个(分别用*和O代替) ,按下图方式排列 ***..***OOO..OOO . . N个黑棋 N个白棋 允许将相邻两个棋子互换位置,最后使队形成黑白交替排列,试编程实现该操作。

11、已知6个城市,用c[i,j]表示从i城市到城市j是否有单向的直达汽车(1=<i〈=6, 1〈=j〈=6), c[i,j]=1 表示城市i到城市j有单向直达汽车; 否则 c[i,j]=0. 试编 制程序,对于给出的城市代号i,打印出从该城市出发乘车(包括转车)可以到达的所有城 市。 12、设有8枚硬币a,b,c,d,e,f,g,h,其中有一枚硬币是伪造的。真伪硬币 的区别仅是重量不同,可能重,可能轻。今要求以天平为工具,用最少的比较次数挑出伪造 硬币,并鉴定它是重还是轻。 13、在一线性七个格位置的图上有两种不同颜色的棋子A,B. 排列如下图所示,中间格的 位置为空。 ┎─┰─┰─┰─┰─┰─┰─┒ ┃A┃A┃A┃ ┃B┃B┃B┃ ┖─┸─┸─┸─┸─┸─┸─┚ 要求将A,B的现行位置交换,形成下图中的排列: ┎─┰─┰─┰─┰─┰─┰─┒ ┃B┃B┃B┃ ┃A┃A┃A┃ ┖─┸─┸─┸─┸─┸─┸─┚ 移动棋子的条件: (1) 每个格中只准放一个棋子。 (2) 任意一个棋子均可移动一格放入空格内。 (3) 一方的棋子均可跳过另一方的一个棋子进入空格。 (4) 任何棋子不得跳跃两个或两个以上棋子(无论颜色同异) (5) 任何一个颜色棋子只能向前跳,不准向后跳。 编程完成有关的移动,并且完成具有2N+1个格子的情形. 其中两种颜色各有N个棋子, 且中间为空格. 14、 (背包问题) 有 N 件物品 d1,......dN,每件物品重量为 W1,..., WN (Wi>0),每件物 品价值为 V1,......VN (Vi>0)。用这 N 件物品的某个子集填空背包,使得所取物品的总重量 <=TOTAL,并设法使得背包中物品的价值尽可能高。 15、n枚银币 C1,C2,...,Cn, 其中有一块不合格,不合格的银币比正常的要重。现用一天平找 出不合格的一块,要求在最坏的情况下,用的天平次数最少。 16、某机要部门安装了电子锁。M个工作人员每人发一张磁卡,卡上有开锁的密码特征。为 了确保安全, 规定至少要有N个人同时使用各自的磁卡才能将锁打开。 问电子锁上至少要有 多少种特征? 每个人的磁卡上至少要有多少特征? 如果特征的编号以小写英文字母表示, 将 每个人的磁卡的特征编号打印出来,要求输出的电子锁的总特征数最少。 设 3<=M<=7, 1<=N<=4, M与N由键盘输入,工作人员编号用 1#,2#,...表示. 17、甲乙两人从24枚棋子中轮流取子,甲先取,规定每次所取的枚数不能多于上 一个人所取的枚数,也不可不取。 (1)甲第一次取多少枚才能保证甲取得最后一枚,当然,他也不能第一次就把

所有棋子都取走。 (2)讨论棋子总数N(一定是偶数)从6到30的各种情况。讨论内容包括: 对各个N,是否存在一个小于N的枚数M,甲第一次取M枚后就能保证甲如果策略 正确,一定能取到最后一枚棋子。

18、 ( 野人与传教士 ) 设有三个传教士和三个野人来到河边,打算乘一只船从右 岸渡到左岸去。该船最大负载能力为两人,在任何时候,如果野人人数超过传教士 人数,那么野人就会把传教士吃掉。他们怎样才能用这条船安全地把所有人都渡过 河去呢? 18、 ( 取棋子 ) 设有N颗棋子, 由人和计算机轮流从中取走若干颗。 每方每次最多取K颗, 最少取1颗 (K值不能超过总数的一半,也不能小于1)。试编写一程序使计算机有较多的 获胜机会。 屏幕输入提示: (1) 输入竞赛规则:A. 取最后一颗棋子的那一方为败. B. 取最后一颗棋子的那一方为胜. (2) 总共有多少颗棋子? (3) 一次最多取几颗? (4) 谁先取? (5) 每个回合都应显示: A. 你取几颗? B. 我取走......颗,还剩......颗. (6) 竞赛过程中发生违例时,打印出: 竞赛无法进行下去! (7) 竞赛结束后打印: I win!(我胜! )或 You win!(你胜!。 ) 19、 猴子选大王: ① N 只猴子站成一行,每隔 M 只从头到尾报数,反复进行,报过数的退出,打 印每次退出的猴子的编号,直到剩下一只为止。 ② N 只猴子站成一行,每 M 只报数。先从头到尾,报到尾后,再返回从尾到头 报数,打印每次方向及过程,直到剩下二只时,以排到后面的(指报数方向)为大王。 ③ N 只猴子围成一圈,从第 P 个开始,每隔 M 只报数,打印每次过程,只剩下 一个时为大王。

20、将7万元投资到A,B,C三项目上,其利润见下表: 投资额(万元)│ 1 2 3 4 5 6 7 ──────┼──────────────────── 项 A │0.11 0.13 0.15 0.24 0.24 0.30 0.35 B │0.12 0.16 0.21 0.25 0.25 0.29 0.34 目 C │0.08 0.12 0.20 0.26 0.26 0.30 0.35 如何分配投资额,使获得的利润最大。

21、 一个餐厅在相继的N天里,第 i 天需要 Ri 块餐巾(i=1,2,...,N)。餐厅可以从三种 途径得到餐巾: (1) 购买新的餐巾,每块需P元; (2) 把用过的餐巾送到快洗部,洗一块需M天,费用需F元(F<P); (3) 把餐巾送到慢洗部,洗一块需N天(N>M),费用需S元(S<F)。 在每天结束时,餐厅必须决定将多少块用过的餐巾送到快洗部,多少块送慢洗部,多少块保 存起来延期送洗。在每天开始时,餐厅必须决定是否购买新餐巾及购买多少,使洗好的和新 购的餐巾之和满足当天的需求量 Ri,并使N天总的费用最小。请编程输入总天数,每天所 需的餐巾块数以及每块餐巾的新购费用P,快,慢洗费用F,S,和所需天数M,N,输出 每天开始时需购新餐巾数,结束时送快,慢洗部和延期送洗的餐巾数。 22、(钱币系统问题) 某钱币系统由 k (k≤20) 种硬币组成, 币值依次为 a[1], a[2],...,a[k], 其 中 a[i] (i=1,2,...,k) 为互不相同的正整数, 且依降序排列, a[1]≤200. 给定某整数币值 n(n≤ 3000), 要求用最少枚数的硬币表示这个币值.输入: 用文件输入已知数据, 格式为: 第 1 行: k (硬币种数) 第 2 行: a[1] a[2] ... a[k] (各币值用空格隔开,已按降序排列好) 第 3 行: n (给定的币值) 输出: 直接在屏幕上输出结果. 如果该钱币系统无法表示币值 n,应输出'No', 否则按 以下格式输出: 第 1 行: 最少钱币枚数 r. 第 2 行: 输出若干形如 m*n 的表达式, m 为币值, n 为使用该币值的枚数. 各式第 2 个因子之和应等于 r, 各式乘积之和应等于 n. 例: 设 (a[1],a[2],a[3])=(5,2,1), n=12, 则应输出 3 5*2 2*1.


相关文章:
C语言课程设计之智力九宫格
C 语言程序设计.智力九宫格 C 语言课程设计报告 语言课程设计报告 学生姓名: 学生姓名: 学号: 学号: 系(院) : 专业: 专业: 班级: 班级: 设计题目: 设计...
C语言实验报告(三)
实验题目:循环结构程序设计 二、实验目的: (略) ...} 华北水院高级语言程序设计(C 语言)实验报告 2012...2012 级 姓名: 专业 3) 编写一个智力测验小游戏。...
更多相关标签: