蓝桥杯历年试题
文章平均质量分 57
历届蓝桥杯C/C++试题
皮得一1
这个作者很懒,什么都没留下…
展开
-
历届蓝桥杯C/C++程序设计省赛试题
2012年第三届蓝桥杯C/C++程序设计本科B组省赛2013年第四届蓝桥杯C/C++程序设计本科B组省赛2014年第五届蓝桥杯C/C++程序设计本科B组省赛2015年第六届蓝桥杯C/C++程序设计本科B组省赛2016年第七届蓝桥杯C/C++程序设计本科B组省赛2017年第八届蓝桥杯C/C++程序设计本科B组省赛...原创 2016-01-26 00:25:29 · 44852 阅读 · 10 评论 -
历届蓝桥杯C/C++决赛试题
2012年第三届蓝桥杯C/C++程序设计本科B组决赛2013年第四届蓝桥杯C/C++程序设计本科B组决赛2014年第五届蓝桥杯C/C++程序设计本科B组决赛2015年第六届蓝桥杯C/C++程序设计本科B组决赛原创 2016-05-14 00:20:52 · 8493 阅读 · 0 评论 -
蓝桥杯 代码填空 轮换
轮换串“abcd”每个字符都向右移位,最右的移动到第一个字符的位置,就变为“dabc”。这称为对串进行位移=1的轮换。同理,“abcd”变为:“cdab”则称为位移=2的轮换。下面的代码实现了对串s进行位移为n的轮换。请补全缺失的代码。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。void shift(c原创 2016-01-17 20:44:00 · 901 阅读 · 1 评论 -
蓝桥杯 字母金字塔
金字塔下面代码的目标是输出一个大写字母组成的金字塔。其中space表示金字塔底距离左边的空白长度,x表示金字塔底的中心字母。比如:space=0, x=’C’,则输出: A ABAABCBA再如:space=2,x=’E’, 则输出: A ABA ABCBA ABCDCBA ABCDEDCBA请分析该段代码原创 2016-01-18 18:03:55 · 1382 阅读 · 0 评论 -
蓝桥杯 中奖计算
中奖计算某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码。最后通过摇奖的办法随机产生一个8位数字。参与者写下的数字中最多有多少个连续位与开奖号码中的相同,则称为中了几个号。例如:小张写的数字是:12345678,而开奖号码是:42347856。则称小张中了3个号,因为其中最长的相同连续位是:“234”。如果小张写的是:87654321,则他只中了一个号。下面的代码根据传入的原创 2016-01-18 18:17:39 · 800 阅读 · 0 评论 -
蓝桥杯 数据压缩
某工业监控设备不断发回采样数据。每个数据是一个整数(0到1000之间)。各个数据间用空白字符(空格,TAB或回车换行)分隔。这些数据以文本形式被存储在文件中。因为大多数时候,相邻的采样间隔数据是相同的,可以利用这个特征做数据的压缩存储。其方法是:对n(n>1)个连续相同的数字只记录n和该数字本身;对m(m>0)个连续不重复的数字,则记录 m*-1 和这些数字本身(之所以用负数,是为了与第一原创 2016-01-18 22:04:16 · 701 阅读 · 0 评论 -
蓝桥杯 异或加密法
/*在对文本进行简单加密的时候,可以选择用一个n位的二进制数,对原文进行异或运算。解密的方法就是再执行一次同样的操作。加密过程中n位二进制数会循环使用。并且其长度也可能不是8的整数倍。下面的代码演示了如何实现该功能。*/void f(char* buf, unsigned char* uckey, int n){ int i; for(i=0; i<n; i++)原创 2016-01-18 23:14:34 · 864 阅读 · 0 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 奖券数目(结果填空)
奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。思路:循环遍历每一位数字的情况,除去带有”4“的。第一位从不能取0,所以从1开始。编程实现:#原创 2016-01-24 12:11:17 · 5725 阅读 · 2 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 星系炸弹(结果填空)
星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。每个炸弹都可以设定多少天之后爆炸。比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-1原创 2016-01-24 12:36:14 · 4889 阅读 · 1 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 三羊献瑞(结果填空)
三羊献瑞观察下面的加法算式: 祥 瑞生 辉 + 三羊 献 瑞------------------- 三 羊 生 瑞 气其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。思路:循环遍历每一个汉字代表的数字。即可转换为a b c d+ e f g原创 2016-01-24 12:54:45 · 4771 阅读 · 0 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 格子中输出(代码填空)
2015年第六届蓝桥杯C/C++程序设计本科B组省赛题目汇总:http://blog.csdn.net/u014552756/article/details/50573834格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程...原创 2016-01-24 13:16:53 · 3892 阅读 · 3 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 九数组分数(代码填空)
九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。#include void test(int x[]){ int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3]; int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7原创 2016-01-24 13:28:23 · 4223 阅读 · 0 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 加法变乘法(结果填空)
加法变乘法我们都知道:1+2+3+... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+...+10*11+12+...+27*28+29+...+49 =2015就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。思路:用1225和2015分别减去两个位置原创 2016-01-24 13:49:31 · 3326 阅读 · 5 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 牌型种数(结果填空)
牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?思路:循环遍历每张牌所选择的张数,当牌总数达到13则计数。答案:3598180循环暴力法:#include原创 2016-01-24 14:04:44 · 4661 阅读 · 0 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 移动距离(编程大题)
移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下: 1 2 3 4 5 612 11 10 9 8 713 14 15 .....我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个原创 2016-01-24 14:36:55 · 4407 阅读 · 1 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 垒骰子(编程大题)
垒骰子赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。atm想计算一下有多少种不同的可能的垒骰子方式。原创 2016-01-24 14:45:29 · 5665 阅读 · 1 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛 生命之树(编程大题)
生命之树在X森林里,上帝创建了生命之树。他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。在这个前提下,上帝要使得S中的点所对应的整数的和尽量大原创 2016-01-24 14:49:42 · 3363 阅读 · 0 评论 -
2015年第六届蓝桥杯C/C++程序设计本科B组省赛
1.奖券数目2.星系炸弹3.三羊献瑞4.格子中输出5.九数组分数6.加法变乘法7.牌型种数8.移动距离9.垒骰子10.生命之树原创 2016-01-24 15:04:11 · 10671 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 啤酒和饮料(结果填空)
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。注意:答案是一个整数。请通过浏览器提交答案。#include using namespace std;int main(){ for(int i = 0; i < 40; ++i){ for(int j = 1;原创 2016-01-24 15:14:20 · 3234 阅读 · 1 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 切面条(结果填空)
切面条 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。思路:一刀切下去之后会得到三个部分,通过找规律得出2^n+1答案:1025原创 2016-01-24 15:22:31 · 2750 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 李白打酒(结果填空)
话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理原创 2016-01-24 15:26:18 · 3095 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 史丰收速算(代码填空)
史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算! 速算的核心基础是:1位数乘以多位数的乘法。 其中,乘以7是最复杂的,就以它为例。 因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1 同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7,就要进原创 2016-01-24 15:31:09 · 2716 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 打印图形(代码填空)
小明在X星球的城堡中发现了如下图形和文字:rank=3 * * * * * * * * *rank=5 * * *原创 2016-01-24 15:37:54 · 2632 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 奇怪的分式(结果填空)
奇怪的分式上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 显然,交换分子分母后,例原创 2016-01-24 15:41:17 · 2333 阅读 · 2 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 六角填数(结果填空)
六角填数 如图所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?思路:dfs答案:10#include #include #include #include using namespace std;#define eps 10e-10#define原创 2016-01-24 15:45:12 · 2894 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 蚂蚁感冒(编程大题)
蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】 第原创 2016-01-24 16:29:03 · 2546 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 地宫取宝(编程大题)
地宫取宝X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。原创 2016-01-24 16:32:54 · 2387 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 小朋友排队(编程大题)
小朋友排队n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。请问,要让所有小朋原创 2016-01-25 00:20:02 · 2735 阅读 · 1 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛
1.啤酒和饮料2.切面条3.李白打酒4.史丰收速算5.打印图形6.奇怪的分式7.六角填数8.蚂蚁感冒9.地宫取宝原创 2016-01-25 00:20:52 · 8478 阅读 · 0 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 高斯日记(结果填空)
高斯日记大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出原创 2016-01-25 00:22:25 · 3802 阅读 · 2 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 马虎的算式(结果填空)
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?请你利用计算机的优势原创 2016-01-25 00:23:04 · 2809 阅读 · 0 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 第39级台阶(结果填空)
第39级台阶小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。思路:dfs深搜所有可能得情况。答案:51原创 2016-01-25 00:23:33 · 3170 阅读 · 3 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 黄金连分数(结果填空)
黄金连分数黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!!言归正传,我们如何求得黄金分割数的尽可能精确的值呢?有许多方法原创 2016-01-25 00:24:15 · 4008 阅读 · 5 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 前缀判断(代码填空)
前缀判断如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。比如:"abcd1234" 就包含了 "abc" 为前缀答案:*haystack++ != *needle++char* prefix(char* haystack_start, char* needle_start){ char* ha原创 2016-01-25 00:24:52 · 3206 阅读 · 0 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 三部排序(代码填空)
三部排序 一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!原创 2016-01-25 00:25:37 · 2330 阅读 · 0 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 错误票据(编程大题)
错误票据 某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务是通过编程,找出断号的ID和重号的ID。 假设断号不可能发生在最大和最小号。要原创 2016-01-25 00:26:55 · 2991 阅读 · 0 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 翻硬币(编程大题)
翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻原创 2016-01-25 00:27:29 · 3134 阅读 · 0 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 带分数(编程大题)
带分数 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N程序输出该数字用数码1~9不重复不遗漏地组成带分数表原创 2016-01-25 00:28:35 · 2793 阅读 · 1 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛 连号区间数(编程大题)
连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在原创 2016-01-25 00:29:27 · 2144 阅读 · 2 评论 -
2013年第四届蓝桥杯C/C++程序设计本科B组省赛
1.高斯日记2.马虎的算式3.第39级台阶4.黄金连分数5.前缀判断6.三部排序7.错误票据8.翻硬币9.带分数10.连号区间数原创 2016-01-25 00:34:02 · 9993 阅读 · 0 评论