蓝桥杯C语言.docx
《蓝桥杯C语言.docx》由会员分享,可在线阅读,更多相关《蓝桥杯C语言.docx(10页珍藏版)》请在冰豆网上搜索。
![蓝桥杯C语言.docx](https://file1.bdocx.com/fileroot1/2022-12/16/f9ebe1d3-b2a7-49cf-9e5a-af6d948cfe0b/f9ebe1d3-b2a7-49cf-9e5a-af6d948cfe0b1.gif)
蓝桥杯C语言
2016年蓝桥杯C语言C组(专科)考试题
(考试日期2016/3/20)
第一题
报纸页数
X星球日报和我们地球的城市早报是一样的,
都是一些单独的纸张叠在一起而已。
每张纸印有4版。
比如,某张报纸包含的4页是:
5,6,11,12,
可以确定它应该是最上边的第2张报纸。
我们在太空中捡到了一张X星球的报纸,4个页码分别是:
1125,1126,1727,1728
请你计算这份报纸一共多少页(也就是最大页码,并不是用了几张纸哦)?
请填写表示总页数的数字。
注意:
你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
第二题
煤球数目
有一堆煤球,堆成三角棱锥形。
具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
注意:
你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
第三题
平方怪圈
如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。
如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。
请写出这个循环圈中最大的那个数字。
请填写该最大数字。
注意:
你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
第四题
打印方格
小明想在控制台上输出mxn个方格。
比如10x4的,输出的样子是:
+---+---+---+---+---+---+---+---+---+---+
|||||||||||
+---+---+---+---+---+---+---+---+---+---+
|||||||||||
+---+---+---+---+---+---+---+---+---+---+
|||||||||||
+---+---+---+---+---+---+---+---+---+---+
|||||||||||
+---+---+---+---+---+---+---+---+---+---+
(如果显示有问题,可以参见【图1.jpg】)
以下是小明写的程序,请你分析其流程,填写划线部分缺少的代码。
#include
//打印m列,n行的方格
voidf(intm,intn)
{
introw;
intcol;
for(row=0;rowfor(col=0;colprintf("+\n");
for(col=0;colprintf("|\n");
}
printf("+");
_____________________________;//填空
printf("\n");
}
intmain()
{
f(10,4);
return0;
}
注意:
仅仅填写划线部分缺少的内容,不要添加任何已有内容或说明性文字。
第五题
快速排序
排序在各种场合经常被用到。
快速排序是十分常用的高效率的算法。
其思想是:
先选一个“标尺”,
用它把整个队列过一遍筛子,
以保证:
其左边的元素都不大于它,其右边的元素都不小于它。
这样,排序问题就被分割为两个子区间。
再分别对子区间排序就可以了。
下面的代码是一种实现,请分析并填写划线部分缺少的代码。
#include
voidswap(inta[],inti,intj)
{
intt=a[i];
a[i]=a[j];
a[j]=t;
}
intpartition(inta[],intp,intr)
{
inti=p;
intj=r+1;
intx=a[p];
while
(1){
while(iwhile(a[--j]>x);
if(i>=j)break;
swap(a,i,j);
}
______________________;
returnj;
}
voidquicksort(inta[],intp,intr)
{
if(pintq=partition(a,p,r);
quicksort(a,p,q-1);
quicksort(a,q+1,r);
}
}
intmain()
{
inti;
inta[]={5,13,6,24,2,8,19,27,6,12,1,17};
intN=12;
quicksort(a,0,N-1);
for(i=0;iprintf("\n");
return0;
}
注意:
只填写缺少的内容,不要书写任何题面已有代码或说明性文字。
第六题
凑算式BDEFA+-----+--------=10CGHI(如果显示有问题,可以参见【图1.jpg】)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714就是一种解法,5+3/1+972/486是另一种解法。
这个算式一共有多少种解法?
注意:
你提交应该是个整数,不要填写任何多余的内容或说明性文字。
第七题
寒假作业现在小学的数学题目也不是那么好玩的。
看看这个寒假作业:
□+□=□□-□=□□×□=□□÷□=□(如果显示不出来,可以参见【图1.jpg】)
每个方块代表1~13中的某一个数字,但不能重复。
比如:
6+7=139-8=13*4=1210/2=5以及:
7+6=139-8=13*4=1210/2=5就算两种解法。
(加法,乘法交换律后算不同的方案)你一共找到了多少种方案?
请填写表示方案数目的整数。
注意:
你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
第八题
冰雹数
任意给定一个正整数N,
如果是偶数,执行:
N/2
如果是奇数,执行:
N*3+1
生成的新的数字再执行同样的动作,循环往复。
通过观察发现,这个数字会一会儿上升到很高,
一会儿又降落下来。
就这样起起落落的,但最终必会落到“1”
这有点像小冰雹粒子在冰雹云中翻滚增长的样子。
比如N=9
9,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1
可以看到,N=9的时候,这个“小冰雹”最高冲到了52这个高度。
输入格式:
一个正整数N(N<1000000)
输出格式:
一个正整数,表示不大于N的数字,经过冰雹数变换过程中,最高冲到了多少。
例如,输入:
9
程序应该输出:
52
再例如,输入:
100
程序应该输出:
9232
资源约定:
峰值内存消耗<256M
CPU消耗<1000ms
请严格按要求输出,不要画蛇添足地打印类似:
“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:
main函数需要返回0
注意:
只使用ANSIC/ANSIC++标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意:
所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。
提交时,注意选择所期望的编译器类型。
第九题
卡片换位
你玩过华容道的游戏吗?
这是个类似的,但更简单的游戏。
看下面3x2的格子
+---+---+---+
|A|*|*|
+---+---+---+
|B||*|
+---+---+---+
在其中放5张牌,其中A代表关羽,B代表张飞,*代表士兵。
还有一个格子是空着的。
你可以把一张牌移动到相邻的空格中去(对角不算相邻)。
游戏的目标是:
关羽和张飞交换位置,其它的牌随便在哪里都可以。
输入格式:
输入两行6个字符表示当前的局面
输出格式:
一个整数,表示最少多少步,才能把AB换位(其它牌位置随意)
例如,输入:
*A
**B
程序应该输出:
17
再例如,输入:
AB
***
程序应该输出:
12
资源约定:
峰值内存消耗<256M
CPU消耗<1000ms
请严格按要求输出,不要画蛇添足地打印类似:
“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:
main函数需要返回0
注意:
只使用ANSIC/ANSIC++标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意:
所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。
提交时,注意选择所期望的编译器类型。
第十题
密码脱落
X星球的考古学家发现了一批古代留下来的密码。
这些密码是由A、B、C、D四种植物的种子串成的序列。
仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。
由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。
你的任务是:
给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。
输入一行,表示现在看到的密码串(长度不大于1000)
要求输出一个正整数,表示至少脱落了多少个种子。
例如,输入:
ABCBA
则程序应该输出:
0
再例如,输入:
ABECDCBABC
则程序应该输出:
3
资源约定:
峰值内存消耗<256M
CPU消耗<3000ms
请严格按要求输出,不要画蛇添足地打印类似:
“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:
main函数需要返回0
注意:
只使用ANSIC/ANSIC++标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意:
所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。
提交时,注意选择所期望的编译器类型。