清华大学2019级c语言试卷(本科生专用).docVIP

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

清华大学2019级c语言试卷(本科生专用).doc

PAGE 第PAGE 1页 共4页 清华大学试卷(本科生专用) 考场纪律 学生应试时必须携带学生证,以备查对,学生必须按照监考老师指定的座位就坐。 除答卷必须用的笔、橡皮及老师指定的考试用具外,不得携带任何书籍、笔记、草稿纸等。 答卷时不准互借文具(包括计算器)。题纸上如有字迹不清等问题,学生应举手请监考教师解决。 学生应独立答卷,严禁左顾右盼、交头接耳、抄袭或看别人答卷等各种形式的作弊行为,如有违反,当场取消其考试资格,答卷作废。 在规定的时间内答卷,不得拖延。交卷时间到,学生须在原座位安静地等候监考教师收卷后,方可离开考场。 系别 班号 202 级 班 学号 姓名 成绩 考试课程 日期202 年 月 日 阅卷老师 题号 一 二 三 四 五 六 七 八 九 十 十一 十二 总分 成绩 说明:请务必在每个源程序的最开头写上你的姓名、学号和班级。 一、(20分)编写一个程序,输入三个正整数min,max和factor,然后对于从min到max之间的每一个整数(包括min和max),如果它能够被factor整除的话,就把它打印出来。【5分钟】 输入格式:输入只有一行,即三个正整数min、max和factor。 输出格式:输出有N行,每一行表示符合条件的一个整数,按照递增顺序排列。 样例: 样例输入 样例输出 1 10 3 3 6 9 二、(20分)编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。【20分钟】 输入格式:第一行是一个整数N,N???20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。 输出格式:输出只有一行,即出现次数最多的那个元素值。 样例: 样例输入 样例输出 5 100 150 150 200 250 150 三、(20分)编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如:对于句子“one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。【20分钟】 说明:(1)由于句子当中包含有空格,所以应该用gets函数来输入这个句子;(2)输入的句子当中只包含英文字符和空格,单词之间用一个空格隔开;(3)不用考虑单词的大小写,假设输入的都是小写字符;(4)句子长度不超过100个字符。 输入格式:输入只有一行,即一个英文句子。 输出格式:输出只有一行,是一个整数,表示句子中不同单词的个数。 样例: 样例输入 样例输出 one little two little three little boys 5 四、(10分)一个数如果从左往右读和从右往左读数字是完全相同的,则称这个数为回文数,比如898,1221,15651都是回文数。编写一个程序,输入两个整数min和max,然后对于从min到max之间的每一个整数(包括min和max),如果它既是一个回文数又是一个质数,那么就把它打印出来。【15分钟】 输入格式:输入只有一行,即两个正整数min和max。 输出格式:输出有N行,每一行表示符合条件的一个整数,按照递增顺序排列。如果找不到符合条件的整数,则打印字符串none。 样例: 样例输入 样例输出 500 800 727 757 787 797 五、(20分)采用动态链表来实现一个堆管理器(heap memory manager)。堆管理器的功能是这样的: (1)整个堆空间的大小是固定的,在系统运行的某个时刻,整个堆空间被划分为若干个块,有的块是空闲的,有的块已经被某个程序所占用,这样就形成了空闲块和占用块交错的情形。例如,在图1当中,整个堆空间的大小为1200个字节,总共分为5块区域,其中,第一块区域的起始地址为0,大小为200个字节,被程序1所占用;第二块区域的起始地址为200,大小为200字节,被程序2占用;第三块区域的起始地址为400,大小为400字节,现在是空闲的;第四块区域的起始地址为800,大小为200字节,被程序3占用;第五块区域的起始地址为1000,大小为200字节,现在是空闲的。 (2)用户程序可以用malloc函数来申请一块堆空间,假设申请的空间大小为size,那么系统就会从左往右,对整个堆空间进行扫描,寻找一块大小

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档