《2016年蓝桥杯C语言》由会员分享,可在线阅读,更多相关《2016年蓝桥杯C语言(10页珍藏版)》请在金锄头文库上搜索。
1、2016 年 蓝桥杯 C 语言 C 组(专科)考试题(考试日期 2016/3/20)第一题报纸页数X 星球日报和我们地球的城市早报是一样的,都是一些单独的纸张叠在一起而已。每张纸印有 4 版。比如,某张报纸包含的 4 页是:5,6,11,12,可以确定它应该是最上边的第 2 张报纸。我们在太空中捡到了一张 X 星球的报纸,4 个页码分别是:1125,1126,1727,1728请你计算这份报纸一共多少页(也就是最大页码,并不是用了几张纸哦)?请填写表示总页数的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。第二题煤球数目有一堆煤球,堆成三角棱锥形。具体:第一层放 1 个
2、,第二层 3 个(排列成三角形) ,第三层 6 个(排列成三角形) ,第四层 10 个(排列成三角形) ,.如果一共有 100 层,共有多少个煤球?请填表示煤球总数目的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。第三题平方怪圈如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入 1,就是落入同一个循环圈。请写出这个循环圈中最大的那个数字。请填写该最大数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。第四题打印方格小明想在控制台上输出 m x n
3、个方格。比如 10x4 的,输出的样子是:+-+-+-+-+-+-+-+-+-+-+| | | | | | | | | | |+-+-+-+-+-+-+-+-+-+-+| | | | | | | | | | |+-+-+-+-+-+-+-+-+-+-+| | | | | | | | | | |+-+-+-+-+-+-+-+-+-+-+| | | | | | | | | | |+-+-+-+-+-+-+-+-+-+-+(如果显示有问题,可以参见【图 1.jpg】 )以下是小明写的程序,请你分析其流程,填写划线部分缺少的代码。#include /打印 m 列,n 行的方格 void f(int m
4、, int n)int row;int col;for(row=0; rowvoid swap(int a, int i, int j)int t = ai;ai = aj;aj = t;int partition(int a, int p, int r)int i = p;int j = r + 1;int x = ap;while(1)while(ix);if(i=j) break;swap(a,i,j);_;return j;void quicksort(int a, int p, int r)if(p, 不能通过工程设置而省略常用头文件。提交时,注意选择所期望的编译器类型。第九题卡片换
5、位你玩过华容道的游戏吗?这是个类似的,但更简单的游戏。看下面 3 x 2 的格子+-+-+-+| A | * | * |+-+-+-+| B | | * |+-+-+-+在其中放 5 张牌,其中 A 代表关羽,B 代表张飞,* 代表士兵。还有一个格子是空着的。你可以把一张牌移动到相邻的空格中去(对角不算相邻)。游戏的目标是:关羽和张飞交换位置,其它的牌随便在哪里都可以。输入格式:输入两行 6 个字符表示当前的局面输出格式:一个整数,表示最少多少步,才能把 AB 换位(其它牌位置随意)例如,输入:* A*B程序应该输出:17再例如,输入:A B*程序应该输出:12资源约定:峰值内存消耗 , 不能
6、通过工程设置而省略常用头文件。提交时,注意选择所期望的编译器类型。第十题密码脱落X 星球的考古学家发现了一批古代留下来的密码。这些密码是由 A、B、C 、D 四种植物的种子串成的序列。仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串) 。由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。你的任务是:给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。输入一行,表示现在看到的密码串(长度不大于 1000)要求输出一个正整数,表示至少脱落了多少个种子。例如,输入:ABCBA则程序应该输出:0再例如,输入:ABECDCBABC则程序应该输出:3资源约定:峰值内存消耗 , 不能通过工程设置而省略常用头文件。提交时,注意选择所期望的编译器类型。