清华大学2011年C语言刘连臣期中考试题目

更新时间:2023-11-15 13:28:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

清华大学《计算机语言与程序设计》 2011年秋季学期 期中测试(刘连臣)

测试说明:

1. 本次期中测试,采用上机编程方式进行考核,时间限制为120分钟。 2. 其中的0~4题为必做题目。 3. 考试形式为开卷考试,允许使用纸质资料,但严禁使用U盘等移动设备。 4. 编写程序时,请根据题目的要求与限制来做。

注意事项:

5. 请服从监考老师安排,严格遵守考试纪律。 6. 上机编程部分,要求如下:

? 需要提交单一Word文档;

? Word文档以学号作为文件名称;

? Word文档中需按照顺序提供源程序与运行结果截图。 7. 评分时将查看源程序,适当的程序注释有助于分数的获取。

8. 为防止程序被意外破坏,不要在桌面、C盘、D盘存储程序,建议在E

或者F盘中创建自己的编程目录,并做好备份。

9. 答卷通过网络提交后,请到监考老师处确认提交正确后,方可离开。

以下为上机编程测试题目:

编程必做题(满分100分)

0、 自我介绍(0分)

请在屏幕上输出你的学号、姓名、班级和院系。 要求: (1)请填写个人真实信息。

1、 数组计算(30分)

有一个整数数组(共200个数),请完成如下的操作:

(1)计算该数组的所有元素的平均值;

(2)找到数组中距离该均值最远、最近的各一个元素,不用考虑多个元素距离均值相同的情况。

假设整数数组的使用的数字如下:

-6454,-2146,7127,-455,-1352,7266,-9006,-7897,-2482,5730,-5528,-6965, 9950,4195,-7654,-5239,6039,8380,3937,-7679,-3184,-1206,8099,-1393, 3485,1424,-9420,3654,-3176,1020,1278,-393,-3725,9264,2497,3035, -8335,7239,7472,6255,1233,2846,-9545,-1311,-8525,-9063,-3793,-4309, -1216,-7144,-8590,8179,-9788,1 997,6588,-2524,2645,-3570,6169,9944, 581,9803,4457,7300,6184,4060,-8658,5311,-9264,3504,-8960,-9710, 1683,6870,9138,-3945,8200,8880,-2108,-7452,573,-8979,8723,7176, -1684,-7785,-1524,4479,9969,4642,3422,5483,-6205,-3326,3475,-632, -9526,-5029,5466,5365,-4541,3951,-800,-2967,1703,4012,-4643,-1733, -8157,942,405,-4317,-5229,-7802,5151,-6478,-2998,6347,-1196,2924, 7055,6270,2473,-4256,9121,-9847,-9868,997,3064,7051,-1930,3196, -9254,9011,2239,-7112,9392,-6864,10,9619,2894,1697,8414,-9239,

2688,-6686,2307,8742,8708,4609,3042,-4370,6353,-3704,-5468,-4934, 4783,1237,3252,-5387,-2492,-318,7905,6884,-3801,-1037,-3373,6851, -9851,-1632,1113,-3393,8827,1210,-1174,4634,9606,-4016,-8237,238, 173,-349,-5352,-7250,-4998,-4111,8167,-1501,-5033,-2984,-2396,-7179, -9892,-5246,5167,6429,504,-1531,3451,-6039

输出格式要求:

(1)首先第一行输出所有元素的平均值; //10分

(2)分别输出距离均值最远和最近的元素的下标和值。 //20分

参考运行截图:

2、

输出素数(30分)

素数,又称质数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数。输入两个非负整数m和k(假设k不超过100),请从m开始(包含m)计算其后的k个素数,并按照从大到小的顺序输出这k个素数。重复上述运算过程,程序直到输入的m或k其中之一为0时,运行结束。

请编写一个程序,完成上述的运算与操作。

输入格式要求:

(1)每次请清晰提示分别输入m与k ,遇到其中之一为0时,程序结束,否则继续执行。//10分

输出格式要求:

(1)将从m开始的k个素数按照由大至小的顺序输出,请用空格清晰隔开。//20分

参考运行截图:

3、

文本处理(20分) 请按照如下的要求编写程序。

(a) 输入一个字符串str,假设输入的字符串长度不超过100。内有数字和

非数字字符,如:a123x456 17960?000302tab5876。

(b) 将其中连续的数字作为一个整数(不用考虑负号 ’-‘ 的情况),统计共有多少个整数,例如,123、456、17960等都是其中的整数。

(c)将从字符串中得到的整数, 依次存放到整数数组numa中。例如,123放在numa[0]中,456放在numa[1]中等。

(d)将numa中的所有整数按照从小到大的顺序进行排序。 输入格式要求:

(1)第一行输入字符串,按回车结束。

输出格式要求:

(1)新起一行输出整数的个数。 //10分

(2)新起若干行,按照从小到大顺序每行输出一个整数。//10分

参考运行截图:

4、

译电码(20分)

假设输入的字符串str长度介于4与100之间,并且只由英文字母组成(不

区分大小写)。请使用课堂已经学过的知识,完成对输入字符串的编码加密。程序要求如下:

(a)设计一个精简的数据类型来存储英文的莫尔斯电码对照表。//5分 (b) 将字符串str中的字母全部翻译成对应的莫尔斯编码。//10分

(b) 然后将此翻译后的字符串中的每个元素向左循环移动4位。假设一个字符串长度为n,即将第n-1个位置的元素移动到第n-5的位置,第n-2位置的元素移动到n—6,等。。。第4位置移动到第0位置,第3位置移动到n-1位置,第2位置移动到n-2位置,第1位置移动到n-1位置,第0位置移动到n-4位置) //5分

(c) 编码与循环移位后的字符串存在newstr中,并输出。 输入格式要求:

(1)第一行输入字符串,按回车结束。 输出格式要求:

(2)新起一行,输出字符串newstr。

附:26个英文字母A~Z(不区分大小写)的莫尔斯电码对照表为: \\\\

\\ \\

\\\\

\\\\

\\\\\\\\\\

参考运行截图:

//以上为全部题目

本文来源:https://www.bwwdw.com/article/93jv.html

Top