清华大学2017级计1年级《高级语言程序设计》期末考试试题.docVIP

  • 4
  • 0
  • 约3.78千字
  • 约 7页
  • 2021-10-18 发布于上海
  • 举报

清华大学2017级计1年级《高级语言程序设计》期末考试试题.doc

PAGE PAGE 1 清华大学2017级 计1年级《高级语言程序设计》期末考试试题 (3小时上机完成) 试卷说明: 请在C盘根目录下建立一个子目录,以自己的学号命名,并将所有的程序存入此目录。如,学号为010000的同学,需要建立目录C:\010000,并将程序存入此目录。按照题目名称中指定文件名保存你的程序,并保存一个备份,以免程序被意外破坏。例如,第一题应当保存一个叫做1-1bak.cpp的文件。 3-A和3-B最多只能选择一道题目。如果同时存在3-A.cpp和3-B.cpp,我们将随机选择一道题目进行评分。 所有题目采用键盘输入和屏幕输出,你的程序不得访问任何文件。 评分时将查看源程序,请严格遵守题目中给出的限制。 第一部分 基础问题 (每题12分,共60分) 1-1.自我介绍 ( 1-1.cpp ) 在屏幕上输出你的学号和姓名,各占一行。 1-2.递归函数 ( 1-2.cpp ) 有这样一个函数: 键盘输入实数a和b(0 a, b 100),计算该函数当x=a, y=b的值并输出到屏幕。输入值最多有四位小数,输出时四舍五入保留两位小数。 样例: 输入 输出 9.2 5.6 36.47 1-3.进制转换 ( 1-3.cpp ) 请将一个n进制的数转换成m进制的数,并输出.(在10进制以上的数中A代表10,B代表11,以此类推) 输入: 第1行1个整数n,表示被转换的数的进制(2 = n = 30) 第2行1个整数m,表示转换后的数的进制(2 = m = 30) 第3行有1个n进制的数。 输出: 仅1行,为转换后的m进制的数。 样例: 输入 输出 2 8 100110010 462 (注意:不要使用标准的进制转换函数) 1-4.竖式打印 ( 1-4.cpp ) 键盘输入两个两位正整数a,b ( 11 = a,b = 99,且a和b都不包含数字’0’ ),在屏幕上输出a与b相乘的竖式。注意尽量按照样例的格式进行输出。 样例: 输入 输出 25 12 25 * 12 50 25 300 1-5. 铅笔工厂 ( 1-5.cpp ) 在铅笔工厂里,一支铅笔要经过下列工序:首先在一台机器中喷上彩漆,随后在另一台机器中喷上清漆。遗憾的是这两台机器都有一些毛病。上彩漆的机器在每处理n支铅笔后就“罢工”一次(也就是下一支铅笔将不被喷上彩漆),而上清漆机器在处理m支铅笔后“罢工”一次。于是这所工厂出产四种铅笔,一种是成品铅笔,一种是只上过彩漆的铅笔,一种是只上过清漆的铅笔,最后一种是没有上过任何漆的铅笔。 请编写程序,对给定的n, m 和 k (被处理的铅笔总数),计算四种铅笔的数量。 例如,n=3, m=5 以及k=17,那么铅笔的处理情况如下图: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 彩漆 √ √ √ × √ √ √ × √ √ √ × √ √ √ × √ 清漆 √ √ √ √ √ × √ √ √ √ √ × √ √ √ √ √ 17支铅笔中,有12支是成品。而第12支是什么漆也没上的;第6支只上了彩漆,还有3支只上了清漆。 输入: 仅一行,三个整数 n, m 和 k。0 n 106, 0 m 106, 0 k 109。 输出: 在一行中依次输出下列4个数: a) 铅笔成品数。 b) 没被上漆的铅笔数。 c) 上过彩漆而没上清漆的铅笔数。 d) 上过清漆而没上彩漆的铅笔数。 样例1 输入 输出 3 5 17 12 1 1 3 样例2 输入 输出 999999 999999 999999999 999999000 999 0 0 第二部分 用指定方法设计程序 (每题15分,共30分) 2-1. 约数个数 ( 2-1.cpp ) 一个正整数的约数定义为能够整除它的所有正整数。如24的约数有:1, 2, 3, 4, 6, 8, 12, 24,共8个。我们称24的约数个数为8。下面给出一种求约数个数的方法,仍以24为例: 首先将24分解质因数,并表示成幂积的形式:24=23*31; 然后将每个质因数的幂加1后相乘,(3+1)*(1+1)=8,即24的约数有8个。 再以90为例:90=21*32*51,(1+1)*(2+1)*(1+1)=12,于是90共有12个约数,它们分别是1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90。 根据上面的方法,你的程序需要完成两个任务: 任务一: 输入一个正整数k,在屏幕上输出k的约数的个数c。(6分) 任务二: 输入一个正整数n,将1~n按照约数个数的不同进行分类,在屏幕上输出约数个数不同的类的数目t。(6分) 例如:当n=1

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档