C语言入门必做习题100例(四).doc

上传人:hs****ma 文档编号:545042811 上传时间:2023-06-03 格式:DOC 页数:4 大小:33KB
返回 下载 相关 举报
C语言入门必做习题100例(四).doc_第1页
第1页 / 共4页
C语言入门必做习题100例(四).doc_第2页
第2页 / 共4页
C语言入门必做习题100例(四).doc_第3页
第3页 / 共4页
C语言入门必做习题100例(四).doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言入门必做习题100例(四).doc》由会员分享,可在线阅读,更多相关《C语言入门必做习题100例(四).doc(4页珍藏版)》请在金锄头文库上搜索。

1、1.(阶梵塔)有根棒,第一根上放片大小不等的圆盘,并保持上小下大的顺序。现将片圆盘从第根移至第根,移动中均保持上小下大的顺序,问最少移几次方得结果,求出移动方案。2.某一印刷厂有六项加工任务,对印刷车间和装订车间所需时间见下表(时间单位:天)任务123456印刷车间装订车间如何安排加工顺序,使加工时间最少。3.将万元投资到,三项目上,其利润见下表:投资额(万元)项0.110.130.150.240.240.300.350.120.160.210.250.250.290.34目0.080.120.200.260.260.300.35如何分配投资额,使获得的利润最大。4.无根树与通常所说的树(有根

2、树)很相似,它包含有节点和枝,但不含有根。无根树节点之间只有相邻关系。如图一所示,是一棵有七个节点的无根树,以图一的为根节点得到图二所示的有根树,以为根节点得到图三所示的有根树,但从无根树的角度看,图一、二、三是结构相同的无根树,同时无根树的结构与节点的名称无关。有根树可以用字符串的形式表示,其递归表示方法是:根节点(子树子树子树.)图一,图二的有根树可表示为A(B(CF(EGD)和B(ACF(EGD)。由于子树的表示顺序可以不同,所以一棵有根树可以有多种表示方法,如图三又可表示成B(F(EGD)CA)或B(ACF(DE(G)等。表示无根树时,可以以它任一节点为根节点,将其看作有根树,从而可以

3、利用有根树的字符串表示形式来表示无根树。任务一:由键盘读入一个字符串表示的无根树,无根树的各节点的名称用互不相同的大写英文字母表示。由用户输入一个节点的名称,程序应能够输出一种以该节点为根节点的字符串形式。程序输出无根树的字符串形式时,各个节点的名称无关紧要,所有节点都以表示,以后的各种输出也采用这种形式。例如:输入无根树的字符串形式:(),指定根节点为,程序应能输出(),(),()中的任意一种即可。任务二:输入两个串表示的无根树,判断其结构是否一样。注意它与节点名称无关,只考虑结构。任务三:输入无根树的总枝数(1=N=11),输出所有枝数为的互不相同的无根树,并记录总数。以字符串形式输出,例

4、如:N=5时共有种不同结构的无根树。注意:各种树结构的字符串表达形式不唯一。5.用()的格点阵代表海,其中号代表岛。给你一组编码信息,让你重构一张地图。这组信息是按垂直方向,水平方向岛的情况摘取的。下例中,每行右边的数字按顺序表示该行中“岛组”的大小,如第一行数字为“”,表示该行第一“岛组”由一个岛组成,第二“岛组”由两个岛组成,而第四列下面的“”则表示本列由两个“岛组”组成,第一个“岛组”由两个岛组成,第二个“岛组”由三个岛组成。任务:编程执行以下步骤,直到给定的输入(ASCII)文件中的信息组全部读完为止,步骤如下:()从输入文件(ASCII文件)中读入下一个信息块,并将它显示在屏幕上。每

5、个信息块组成为:格点阵大小(N),以后是行的约束条件(行的),列的约束条件(列的),每行(或每列)的约束条件是一行数字,数字间有空格,最后用结束。上面的例子如图所示。()重构这张地图(若有多个解,要逐个构成地图),并显示。()将重构的地图以文件形式输出。每岛以后加一个空格表示;空白处用连续的两个空格表示。若同一已知条件可画出多张地图,相互间用空行隔开;若一组已知条件画不出地图,用“(占一行)表示。由不同的信息组求得的解用“”(占一行表示).6.一个餐厅在相继的天里,第i天需要Ri块餐巾(i=1,2,.,N)。餐厅可以从三种途径得到餐巾:(1)购买新的餐巾,每块需分;(2)把用过的餐巾送到快洗部

6、,洗一块需天,费用需分();(3)把餐巾送到慢洗部,洗一块需天(),费用需分()。在每天结束时,餐厅必须决定将多少块用过的餐巾送到快洗部,多少块送慢洗部,多少块保存起来延期送洗。在每天开始时,餐厅必须决定是否购买新餐巾及购买多少,使洗好的和新购的餐巾之和满足当天的需求量Ri,并使天总的费用最小。请编程输入总天数,每天所需的餐巾块数以及每块餐巾的新购费用,快,慢洗费用,和所需天数,输出每天开始时需购新餐巾数,结束时送快,慢洗部和延期送洗的餐巾数。7.(旅行商)一个推销员计划做一次旅行,他必须访问如图所示每个城市。每两个城市的路径旁标有路径。要求从城市出发,访问每个城市一次,且只访问一次,最后返回

7、城市,求一条距离最短的路线。8.(tic_tac_toe游戏)tic_tac_toe游戏的规则是:从一个空的(N*N)的棋盘(例如)开始,甲乙二人轮流将棋子放置在棋盘上未被占据的方格中,例如甲第一个放,他把棋子放在中央的方格里,然后轮到乙放,他把棋子放在第一行中间的方格里。于是又轮到甲放,.如此进行下去。判定胜负的方法是:若某一游戏者有枚棋子占据了一横行,或一竖列,或一对角线,则此人获胜;若直至整个棋盘被占满还没有一方获胜,则为平局。9.以字符串形式由键盘输入两个高精度的进制正整数,串长小于,以第一个数为被除数,第二个数为除数,进行高精度除法运算,并显示按8进制表示的商和余数。10.(NOI9

8、4.1_1)键盘输入一个仅由小写字母组成的字符串,输出以该串中任取个字母的所有排列及排列总数。11.(NOI94.1_2)编程实现两个高精度实数减法,两数分别由键盘输入,均不超过位。12.(NOI94.1_3)一个实数数列共有项,已知a(i)=(a(i-1)-a(i+1)/2+d,(i)(N60),键盘输入,d,a(1),a(n),m,输出a(m)。13.(NOI94.1_4)键盘输入一个高精度的正整数,去掉其中任意个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的和,寻找一种方案使得剩下的数字组成的新数最小。输出应包括所去掉的数字的位置和组成的新的正整数。(不超过位)14.在两

9、个文本文件中各存有一个以西文制表符制成的未填入任何表项的表结构,分别称之为表和表,要求编程将表和表下述规则合并成表:规则:表在表之上,表和表的左边框对齐,将表的最低行与表的最顶行合并。例:在你的盘根目录下有两个文件t0.1和t0.2,分别存放上述的表和表,经上述规则合并后得到表,放在文件中。三张表见下图:表表表编程要求:(1)程序应能自给定的文件中读入两个源表并显示。(2)若源表有错,应能指出其错。(3)将表和表规则合并成表,并显示之。(4)所有制表符的码应由选手自己从给出的示例文件中截取。15.(圆盘问题)从左向右依次安放4根细柱A,B,C,D.在A上套有N(N20)个直径相同的圆盘,从下到上依次用连续的小写字母a,b,c,.编号,将这些圆盘经过B,C单向地移入D(即不允许从右向左移动).圆盘可在B,C中暂存.从键盘输入N,及前N个小写字母的一个排列,它表示最后在D盘上形成的一个从下到上的圆盘序列.请用文本文件ANS2.TXT输出形成这一排列的操作过程.该文件的每一行为一个形如kML的字母序列,其中k为圆盘编号,M为k盘原先的柱号,L为新柱号.或者直接在屏幕上输出No,表示不能生成这种排列.例:键盘输入:3dacbc则一个正确的输出文件b可以是:a

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号