C语言入门必做习题100例五.pdf_第1页
C语言入门必做习题100例五.pdf_第2页
C语言入门必做习题100例五.pdf_第3页
C语言入门必做习题100例五.pdf_第4页
C语言入门必做习题100例五.pdf_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言语言的学习其实很简单的,下面是我整理的关于 C 语言的试题,希望对 C 语言的初学者 有所帮助! 1.(最长连线)设有一个NN的方格图形,且N为3的倍数。要求在图形中 存放0或1, 相邻的1可以连成一条连线, 连接的方法可以是行, 也可以是列; 同 时约定一条连线只能有一个起点和一个终点,图形上的点最多只能访问一次。 编程求最长连线.例如N6时,有下图: 在该图中,包含有如下的一些连线: 在以上的连线中,最长的连线为:表示方法: 最长 连线长度:LMAX=9 连线: (1,6)(2,6) (3,6)(4,6) (4,5)(4,4) (3,4)(2,4) (2,5) 连线的表示不是唯一的, 仅 给出一种即可。 2.(NOI95.1_2)在一个园形操场的四周摆放N堆石子(N100),现要将石子有 次序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数, 记为该次合并的得分。 编一程序程序,由文件读入堆数N及每堆的石子数(20), 选择一种合并石子的方案,使得做 N-1 次合并,得分的总和最小; 选择一种合并石子的方案,使得做 N-1 次合并,得分的总和最大. 例如,图2-1所示的 4 堆石子,每堆的石子数(从最上面的一堆数起,顺时针 数) 依次为 4594.则3次合并得分总和最小的方案为图 2-2,得分总和最大的 方案 为图2-3. (加图) 输入数据: 文件名由键盘输入,该文件内容为; 第一行为石子堆数N; 第二行为每堆的石子数,每两个数之间用一个空格符分隔 输出数据: 输出文件名为OUTPUT.TXT 第1至N-1行为得分最小的合并过程.每行包含两个数,表示应该合并的两 堆石子的数目,小数在前,大数在后,第N行为合并成一堆后的最小得分总和; 第N+1行为空行,第N+2至2N+1行为得分最大合并过程(格式同 前).第2N+2 行为最大得分总和.73.(NOI95.1_4)N位由0和1组成的字符串A、B可 分别表示为 ANN-1i21 BNN-1i21 其中,i0 或 1,i0 或 1,1iN,N15. 如果存在某一位j(j1N),在该位上两串不同,即jj,而其余N-1位 上的两串相同,即ii(i1N,ij),则称A、B两串“互邻”。 比如,在 N4 时,A1100,B1000,A、B两串“互邻”,而C1100,D 1010,C、D两串不“互邻”。 编程要求: 寻找一个含有2N个上述 01 串的序列,该序列满足以下要求: 组成该序列的每一个 01 串都与其它串不同; 第 k 个串与第 k-1 个串有“互邻”关系,2k2N; 该序列首项由输入指定. 例如N=2,指定首项为 01,则一个满足上述要求的序列为 01111000 输入数据 文件名由键盘输入EXAMPLE4.TXT MODEL4.TXT 该文件共有两行 第一行为N 22 第二行为指定的序列首项 0101 11 输出数据 10 输出文件 为OUTPUT.TXT 00 第一行 为N 第二行至第 2N+1 行依次输出序列的每一个串. 输入输出举例 参考输入文件:EXAMPLE4.TXT 参考输出文件:MODEL4.TXT 3.(NOI95.1_4)N位由0和1组成的字符串A、B可分别表示为 ANN-1i21 BNN-1i21 其中,i0 或 1,i0 或 1,1iN,N15. 如果存在某一位j(j1N),在该位上两串不同,即jj,而其余N-1位 上的两串相同,即ii(i1N,ij),则称A、B两串“互邻”。 比如,在 N4 时,A1100,B1000,A、B两串“互邻”,而C1100,D 1010,C、D两串不“互邻”。 编程要求: 寻找一个含有2N个上述 01 串的序列,该序列满足以下要求: 组成该序列的每一个 01 串都与其它串不同; 第 k 个串与第 k-1 个串有“互邻”关系,2k2N; 该序列首项由输入指定. 例如N=2,指定首项为 01,则一个满足上述要求的序列为 01111000 输入数据 文件名由键盘输入EXAMPLE4.TXT MODEL4.TXT 该文件共有两行 第一行为N 22 第二行为指定的序列首项 0101 11 输出数据 10 输出文件 为OUTPUT.TXT 00 第一行 为N 第二行至第 2N+1 行依次输出序列的每一个串. 输入输出举例 参考输入文件:EXAMPLE4.TXT 参考输出文件:MODEL4.TXT 4.(NOI95.1_5)m、n 为整数,且满足下列两个条件: m、n1,2,k,(1k109) (n2m*nm2)21 编一程序,由键盘输入 k,求一组满足上述两个条件的m、n,并且使 m2 n2 的值最大. 例如,若k1995,则m987,n1597时,则m、n满足条件,且 可使 m2n2 的值最大. 5.(钱币系统问题)某钱币系统由k(k20)种硬币组成,币值依次为a1, a2,.,ak,其中ai(i=1,2,.,k)为互不相同的正整数,且依降序排列, a1200.给定某整数币值n(n3000),要求用最少枚数的硬币表示这个币值. 输入:用文件输入已知数据,格式为: 第1行:k(硬币种数) 第2行:a1a2.ak(各币值用空格隔开,已按降序排列好) 第3行:n(给定的币值) 输出:直接在屏幕上输出结果.如果该钱币系统无法表示币值n,应输出No, 否则按以下格式输出: 第1行:最少钱币枚数r. 第2行:输出若干形如m*n的表达式,m为币值,n 为使用该币 值的枚数. 各式第2个因子之和应等于r,各式乘积之和应等于n. 例:设(a1,a2,a3)=(5,2,1),n=12,则应输出 3 5*22*1. divdiv class=“td_content“6.(省 刻度尺问题)给定长度为L的直尺,L为整数,且 L40.为了能一次直接 量出1,2,.,L的各种长度,该尺内部至少要有多少条刻度?请输出最少刻 度 数(不含两端点)及每个刻度的位置.测量长度时可利用两端点,其位置分别为0, L. 输入:由键盘输入L. 输出:用文本文件按以下格式输出结果(文件名:ANS2.TXT): 第1行:S(最少刻度数) 第2行:尺内S个刻度的位置 第3行至第L+2行:每行输出3个用空格隔开的整 数tmn,其中 1tL为要测量的各长度,m,n依次为该长度的起止刻度(mp 其中 m 为数字串(长度8 其意义为:将 10 进制数 48,转换成 8 进制数输出。 输出结果为:48=60 9挖地雷(30 分) 在一个地图上有 N 个地窖(N=20),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连 接路径。 10.编码问题: 设有一个数组 A:ARRAY0N-1OFINTEGER; 数组中存放的元素为 0N-1 之间的整数,且 AiAj(当 ij 时)。 例如:N=6 时,有:A=(4,3,0,5,1,2) 此时,数组 A 的编码定义如下: A0的编码为 0; Ai的编码为:在 A0,A1,Ai-1中比 Ai的值小的个数(i=1,2,N-1) 上面数组 A 的编码为:B=(0,0,0,3,1,2) 程序要求解决以下问题: 给出数组 A 后,求出其编码。 给出数组 A 的编码后,求出 A 中的原数据。 11.灯的排列问题: 设在一排上有 N 个格子 (N20) , 若在格子中放置有不同颜色的灯, 每种灯的个数记为 N1, N2, Nk(k 表示不同颜色灯的个数)。 放灯时要遵守下列规则: 同一种颜色的灯不能分开; 不同颜色的灯之间至少要有一个空位置。 例如:N=8(格子数) R=2(红灯数) B=3(蓝灯数) 放置的方法有: R-B 顺序 RRBBB RRBBB RRBBB RRBBB RRBBB RRBBB B-R 顺序 BBBRR BBBRR BBBRR BBBRR BBBRR BBBRR 放置的总数为 12 种。 数据输入的方式为: N P1(颜色,为一个字母)N1(灯的数量) P2N2 Q(结束标记,Q 本身不是灯的颜色) 程序要求:求出一种顺序的排列方案及排列总数。 12.设有一个四层的积木块,14 层积木块的数量依次为:5,6,7,8 如下图所示放置: 8158516914 23414326 其中,给出第三层与第四层所标示的数字,并已知第三层的数据是由第四层的数据计算出来的。 计算的方法是:第三层的某个数据 A 是由第四层相邻的两个数据 B,C 经过某种计算后产生的: A BC 计算所用到的计算符为:+,-,且无优先级之分(自左向右计算),运算符最多为 2 个。 如:3+45=3554+3=23 可以看出,上图中的第三层的数据是由第四层的数据用以下计算公式计算出来的: A=BC+B 也就是:8=23+2,15=34+3,14=26+2 程序要求: 给出第四层与第三层的数据后,将第一、二层的每块积木标上相应的数据,并输出整个完整的积 木图及计算公式。 输入数据不存在出错的情况,同时也不会超过整数的范围。 计算时可允许出现以下情况: A=B(即可理解为运算符的个数为零) A=BB+B(即全部由 B 产生) V1V2V3 V4V5 例如: 题目要求 当地窖及其连接的数据给出之后,某人可以从任一处开始挖地雷,然后可以沿着指出的连接往下挖(仅能 选择一条路径),当无连接时挖地雷工作结束。设计一个挖地雷的方案,使某人能挖到最多的地雷。 输入格式:N:(表示地窖的个数) 1,W2,W3,WN(表示每个地窖中埋藏的地雷数量) A12.A1N A23A2N AN-1N 输出格式: K1-K2-.KV(挖地雷的顺序) MAX(挖地雷的数量) 例如: - 其输入格式为:输出: 51?3-4 -5 10,8,4,7,6max=27 1110 000 11 1 13砝码称重(30 分) 设有 1g、2g、3g、5g、10g、20g 的砝码各若干枚(其总重=1000), 要求: 输入方式:a1a2a3a4a5a6 (表示 1g 砝码有 a1 个,2g 砝码有 a2 个,20g 砝码有 a6 个) 输出方式:Total=N (N 表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的 情况) 如输入:1_1_0_0_0_0(注:下划线表示空格) 输出:TOTAL=3表示可以称出 1g,2g,3g 三种不同的重量。 14.若将一个正整数化为二进制数,在此二进制数中,我们将数字 1 的个数多于数字 0 的个数的这类二进 制数称为 A 类数,否则就称其为 B 类数。 例如:(13)10=(1101)2 其中 1 的个数为 3,0 的个数为 1,则称此数为 A 类数; (10)10=(1010)2 其中 1 的个数为 2,0 的个数也为 2,称此数为 B 类数; (24)10=(11000)2 其中 1 的个数为 2,0 的个数为 3,则称此数为 B 类数; 程序要求:求出 11000 之中(包括 1 与 1000),全部 A、B 两类数的个数。 15.编码问题:设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论