2015年蓝桥杯初赛b组试题
蓝桥杯试题标准答案(练习)
1、亲密数:假设有a、b两个数,若 a 的所有因子之和等于b,b 的所有因子之和等于a ,并且 a 不等于b ,则称 a 和 b 是一对亲密数。
如284 和 220 就是一对亲密数。
#include<stdio.h>int main(){int a,b,i,n;for(a=1;a<=10000;a++){for(b=0,i=1;i<=a/2;i++)if(a%i==0)1b+=i;for(n=0,i=1;i<=b/2;i++)if(b%i==0)n+=i;1if(n==a&&a!=b&&a<b)printf("%d-%d\n",a,b);}return 0;}2、世纪末的星期:曾有邪教称 1999 年 12 月 31 日是世界末日。
当然该谣言已经不攻自破。
还有人称今后的某个世纪末的12 月 31 日如果是星期一则会....有趣的是任何一个世纪末的年份的12 月 31 日都不可能是星期一!!于是“谣言制造商”又修改为星期日 ......1999 年的 12 月 31 日是星期五,请问,未来哪一个离我们最近的一个世纪末年即xx99 年的12 月 31 日正好是星期天,即星期日请回答该年份,只写这个4 位整数,不要写 12 月 31 等多余信息#include<stdio.h>2int main(){long days = 5; /*1999 年的最后一天为周5,把下一年加上 5天对 7 取余为 0 的,则是周日*/int i = 2000;for(;;) /*无循环终止条件,可以利用break 语句终止循环*/{if(i%4==0&&i%100!=0||i%400==0){days = days%7+366;else{days = days%7+365;3}if(days%7==0&&i%100==99) {printf("%d",i);break;}i++;}return 0;}3、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
蓝桥杯小学试题及答案
蓝桥杯小学试题及答案一、选择题(每题2分,共10分)1. 下列哪个选项是蓝桥杯的官方标志?A. 蓝色桥梁B. 蓝桥杯C. 蓝桥牌D. 蓝桥奖2. 蓝桥杯小学组的参赛年龄限制是多少岁?A. 6-12岁B. 8-14岁C. 10-16岁D. 12-18岁3. 蓝桥杯小学组的比赛项目包括哪些?A. 编程B. 数学C. 英语D. 所有以上选项4. 蓝桥杯的初赛通常在什么时间举行?A. 春季B. 夏季C. 秋季D. 冬季5. 蓝桥杯的决赛通常在哪个城市举行?A. 北京B. 上海C. 广州D. 深圳二、填空题(每题2分,共10分)1. 蓝桥杯小学组的编程比赛主要使用______语言。
2. 蓝桥杯小学组的数学比赛主要考察学生的______能力和______能力。
3. 蓝桥杯小学组的英语比赛包括______、______和______三个部分。
4. 蓝桥杯的初赛成绩优异者将获得晋级______的资格。
5. 蓝桥杯的决赛成绩优异者将有机会获得______的荣誉。
三、简答题(每题5分,共20分)1. 请简述蓝桥杯小学组编程比赛的目的和意义。
2. 蓝桥杯小学组数学比赛的题型有哪些?3. 蓝桥杯小学组英语比赛的评分标准是什么?4. 参加蓝桥杯小学组比赛对学生有哪些好处?四、编程题(每题10分,共20分)1. 编写一个程序,计算并输出1到100之间所有偶数的和。
2. 编写一个程序,判断一个给定的年份是否为闰年,并输出结果。
五、数学应用题(每题10分,共20分)1. 小明有10个苹果,他分给小华3个,然后又分给小李4个,最后自己还剩下多少个苹果?2. 一个长方形的长是10厘米,宽是5厘米,求这个长方形的面积和周长。
六、英语阅读理解题(每题5分,共20分)阅读以下短文,并回答后面的问题。
(短文内容略)1. 短文中提到的主要人物是谁?2. 主要人物做了什么?3. 短文中描述了哪些地点?4. 短文中的主要事件是什么?七、英语写作题(10分)请根据以下提示,写一篇不少于50字的英语短文。
2015蓝桥杯-软件类-广东赛区获奖名单
黎毅麟 王文标 罗凯嘉 李垄华 凌嘉威 古永旺 钟冠蓝 张立伟 张浩 蔡俊涛 郭志强 陈文钢 谭炯宏 吴敏波 胡学松 叶境炫 杨亿明 黄瑞滨 颜郑明 刘荣辉 梁振东 陈广辉 简智峣 罗拔群 陈静 罗嘉伟 李泽杰 温凯民 何自健 林虹 聂雨时 张德志 游伟明 杨望重 梁殷浩 冯汉威 邵景添 陈壮峰 刘伟勇 王升贤 孔明伟 黎嘉朗 许湘岳 黄宇轩 谢林廷 许晓丹 周浩新
广东技术师范学院 五邑大学 广东工业大学 电子科技大学中山学院 东莞理工学院 北京理工大学珠海学院 广东财经大学 韶关学院 韶关学院 广东工业大学 广东工业大学 电子科技大学中山学院 北京理工大学珠海学院 佛山科学技术学院 广东科技学院 北京理工大学珠海学院 广州商学院 广州医科大学 华南理工大学广州学院 华南农业大学珠江学院 广东工业大学 广东工业大学 电子科技大学中山学院 电子科技大学中山学院 佛山科学技术学院 佛山科学技术学院 广东第二师范学院 广东工业大学 广东工业大学 广东技术师范学院 惠州学院 惠州学院 韶关学院 韶关学院 五邑大学 中山大学新华学院 中山大学新华学院 五邑大学 肇庆学院 韶关学院 佛山科学技术学院 广东工业大学 广东工业大学 岭南师范学院 岭南师范学院 韶关学院 韶关学院
吴俊强 何培业 张水杰 刘健宇 孙可栋 林展辉 钟永发 张佳阳 陈海媚 钟作铝 刘同奇 曹华锋 姚宇宁 程鑫 李晓彬 周锦民 方泽生 林泽宇 方银城 石毅贤 刘苹 陈志华 范潜鑫 黄达鑫 杨逸钒 陈培贤 林欣达 林嘉伟 薛晓光 郑永欣 吴成兵 李平 古泳伦 林金壕 邝嘉业 杨嘉玉 林循凯 陈杰明 陈伟健 方俊权 杨洪滨 黄松钦 林峻弘 曾令远 庄淼云 赵桂云 崔龙龙
是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是
蓝桥杯例题
1.蓝桥杯全国软件和信息技术专业人才大赛是由哪个部门主办的?A.教育部(答案)B.科技部C.工业和信息化部D.国家发展和改革委员会2.蓝桥杯大赛主要考察参赛者的哪些能力?A.编程和算法设计能力(答案)B.市场营销能力C.团队协作能力D.演讲能力3.蓝桥杯大赛通常分为哪些组别进行比赛?A.大学A组、大学B组和大学C组(答案)B.初级组、中级组和高级组C.青少年组、成人组和大师组D.企业组、学校组和个人组4.在蓝桥杯大赛中,以下哪种编程语言是常用的?A.C/C++(答案)B.Python(虽然Python也常被使用,但在此处作为非唯一或首选答案)C.Java(Java也是常用语言,但同样非首选答案)D.JavaScript5.蓝桥杯大赛的获奖者通常可以获得哪些奖励?A.奖金、证书和学校加分(答案)B.实物奖品、旅游机会和荣誉称号C.股票、期权和就业机会D.学术期刊发表机会6.蓝桥杯大赛的参赛资格通常要求参赛者是什么身份?A.在校大学生(答案)B.企业员工C.专业程序员D.无特定身份要求7.在蓝桥杯大赛中,以下哪个环节不是必须的?A.提交代码并运行通过测试((答案,此选项描述了一个通常情况,但并非所有题目都需提交并运行代码,而是根据题目要求可能只需提交答案或解题思路)B.理解题目要求C.设计算法或解决方案D.在规定时间内完成题目8.蓝桥杯大赛的题目难度通常是如何分布的?A.从易到难,逐步增加(答案)B.所有题目难度相同C.难度随机分布D.先难后易9.参加蓝桥杯大赛对参赛者未来的职业发展有哪些帮助?A.提升编程技能和算法设计能力,增加就业竞争力(答案)B.直接获得高薪工作机会C.获得学术研究成果D.无需进一步学习即可成为专家10.蓝桥杯大赛的举办周期是多久?A.每年一届(答案)B.每两年一届C.每季度一届D.每月一届。
蓝桥杯大学组试题及答案
蓝桥杯大学组试题及答案一、单项选择题(每题5分,共50分)1. 以下哪个选项是Python语言中定义列表的正确方式?A. list = {}B. list = []C. list = ()D. list = []答案:B2. 在HTML中,用于定义最重要的标题的标签是?A. <h1>B. <h2>C. <h3>D. <h4>答案:A3. 以下哪个选项是JavaScript中声明函数的正确方式?A. function myFunction() {}B. var myFunction = function() {}C. var myFunction = function() {}D. Both A and B答案:D4. 在CSS中,以下哪个属性用于设置元素的背景颜色?A. background-colorB. backgroundC. colorD. bgcolor答案:A5. 在SQL中,以下哪个命令用于创建一个新的数据库?A. CREATE TABLEB. CREATE DATABASEC. SELECTD. INSERT INTO答案:B6. 在Java中,以下哪个关键字用于定义一个类?A. classB. functionC. structD. interface答案:A7. 在C++中,以下哪个操作符用于定义引用?A. *B. &C. %D. #答案:B8. 在PHP中,以下哪个函数用于连接数据库?A. connect()B. db_connect()C. mysqli_connect()D. database_connect()答案:C9. 在Unix/Linux系统中,以下哪个命令用于查看当前工作目录?A. pwdB. lsC. cdD. mkdir答案:A10. 在正则表达式中,以下哪个符号用于匹配任何单个字符?A. .B. *C. ^D. $答案:A二、多项选择题(每题10分,共20分)1. 以下哪些选项是JavaScript中常用的数据类型?A. NumberB. StringC. BooleanD. ObjectE. Array答案:ABCDE2. 在Python中,以下哪些选项是合法的变量命名?A. _my_varB. my_varC. 2my_varD. my-varE. myVar答案:ABE三、简答题(每题15分,共30分)1. 请简述在HTML5中,如何使用Canvas元素绘制一个简单的矩形。
历年蓝桥杯省赛B组真题试题
for(j = 0 ; j < 4 ; j ++) flag[i][j] = 1;
flag[0][0] = 0; flag[2][3] = 0; }
void Solve() {
int dir[8][2] = { 0,1,0,-1,1,0,-1,0,1,1,1,-1,-1,1,-1,-1}; int book = true; for(int i = 0 ; i < 3 ; i ++) {
int main() {
int i; int a[] = {5,13,6,24,2,8,19,27,6,12,1,17}; int N = 12;
quicksort(a, 0, N -1);
for(i=0; i<N; i++) printf("%d ", a[i]); printf("\n");
return 0; }
num[n]=0;
}
}
}
int main() {
memset(num,0,sizeof(num)); memset(visit,0,sizeof(visit)); dfs(1); cout<<sum; return 0; }
4 / 19
(4) 快速排序
历年蓝桥杯省赛 B 组真题试题
排序在各种场合经常被用到。 快速排序是十分常用的高效率的算法。
if(!visit[i]) {
visit[i] = true; mpt[x][y] = i; dfs(index+1); visit[i] = false; } } } else { dfs(index+1); } } int main() { init(); dfs(0); printf("%d\n",ans); return 0; }
蓝桥杯java试题及答案
蓝桥杯java试题及答案蓝桥杯是中国著名的计算机科学与技术竞赛,旨在选拔和培养优秀的计算机人才,尤其是高中和大学的学生。
Java是蓝桥杯竞赛中常见的编程语言之一。
本文将介绍一些常见的蓝桥杯Java试题,并提供相应的答案。
一、编程题1. 题目描述:请编写一个Java程序,实现将一个整数数组中的奇数和偶数分别放在两个新数组中,并按照从小到大的顺序排列。
解题思路:可以使用两个ArrayList来保存奇数和偶数,先遍历原数组,将奇数放入奇数数组,将偶数放入偶数数组,然后分别对两个数组进行升序排序。
代码实现:```javaimport java.util.ArrayList;import java.util.Arrays;import java.util.Collections;public class SplitArray {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5, 6};ArrayList<Integer> oddList = new ArrayList<>(); ArrayList<Integer> evenList = new ArrayList<>(); for (int num : arr) {if (num % 2 == 0) {evenList.add(num);} else {oddList.add(num);}}Collections.sort(oddList);Collections.sort(evenList);System.out.println("奇数数组:" + oddList);System.out.println("偶数数组:" + evenList);}}```答案分析:该程序首先定义了一个整型数组 `arr`,然后创建两个ArrayList:`oddList`用于保存奇数,`evenList`用于保存偶数。
2015蓝桥杯java大学B组决赛真题
}
private int getRootPos(int x){
return l==null? x : x + l.getWidth();
}
}
public class Main
{
public static void main(String[] args)
资源约定:
峰值内存消耗(含虚拟机)< 512M
CPU消耗< 2000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。
某个节点的右子树的所有节点值都不小于本节点值。
为了能形象地观察二叉树的建立过程,小明写了一段程序来显示出二叉树的结构来。
class BiTree
{
private int v;
private BiTree l;
private BiTree r;
public BiTree(int v){
this.v = v;
输入保证不会出现循环依赖的情况,即不会出现两个格子a和b使得a的值依赖b的值且b的值依赖a的值。
「输出格式」
输出一个表格,共n行,每行m个保留两位小数的实数。
数据保证不会有格子的值超过1e6。
「样例输入」
3 2
1 SUM(2,1:3,1)
2 AVG(1,1:1,2)
SUM(1,1:2,1) STD(1,1:2,2)
第15届蓝桥杯青少组python试题解析
题目编号:BC15Q题目描述:你是一个生活在2035 年的宇航员,要返回距离地球约575,435,324,342 公里的赛德娜星,但在半路上遇到一个直径约为75 公里的圆形山峰。
山峰中间的“山洞”可以直接通过,但是需要确定能否安全通过。
如果能够安全通过,你将穿越山洞,继续前进;如果不能,你只能等待下次机会再尝试。
你的设备只能够检测与山洞中任意一点5 公里以内的距离。
请你编写程序确定能否安全通过这个山洞。
解析:本题是一道经典的路径搜索问题,我们需要编写一个函数来模拟宇航员穿越山洞的过程。
根据题目描述,我们需要检查从宇航员当前位置到山洞中的任意一点的最短距离是否小于等于75 * 2 = 150 公里。
如果是,那么说明宇航员可以通过山洞;否则,宇航员不能通过。
解决方案:我们可以通过广度优先搜索(BFS)的方法来解决这个问题。
具体步骤如下:1. 初始化队列和最小距离变量。
2. 将宇航员当前位置加入队列,并记录其到山洞中任意一点的距离为初始距离。
3. BFS搜索过程中,每次取出队列的前几个元素,检查它们的距离是否小于等于150 公里。
如果小于等于,说明宇航员可以通过山洞;否则,返回不能通过的结果。
4. 如果队列为空,说明宇航员无法到达山洞中任意一点的最短距离小于等于150 公里,返回不能通过的结果。
代码实现:```pythonfrom queue import Queuedef can_pass(x, y):# 定义山洞中任意一点的坐标为(x, y)# x坐标和y坐标均为-75到75之间的整数directions = [(0, 1), (0, -1), (1, 0), (-1, 0)] # 上、下、右、左四个方向queue = Queue() # 使用队列进行广度优先搜索distances = {} # 记录到每个点的最小距离distances[(x, y)] = float('inf') # 将当前点加入最小距离集合并设为无穷大(无法到达)queue.put((x, y)) # 将当前点加入队列visited = set() # 记录已访问过的点while not queue.empty(): # 当队列不为空时进行搜索current_point = queue.get() # 取出队列中的第一个点for dx, dy in directions: # 向四个方向移动new_x = current_point[0] + dx # 新坐标的x坐标new_y = current_point[1] + dy # 新坐标的y坐标if (new_x, new_y) in visited: # 如果新坐标已经被访问过,跳过该点continueif abs(new_x) <= 75 and abs(new_y) <= 75: # 如果新坐标在-75到75之间,则加入最小距离集合并更新最小距离dist = abs(new_x) * abs(new_y) / 2 # 根据勾股定理计算新坐标到山洞的距离if dist < distances[(new_x, new_y)]: # 如果新坐标的距离小于当前最小距离,则更新最小距离并加入队列distances[(new_x, new_y)] = distqueue.put((new_x, new_y))visited.add((current_point[0], current_point[1])) # 将当前点标记为已访问return distances[(x, y)] < 150 # 如果初始点到山洞的距离小于等于150公里,返回True;否则返回False```注意事项:* 本题的时间复杂度较高,当坐标范围较大时可能会导致运行时间较长。
蓝桥杯基础试题及答案
蓝桥杯基础试题及答案1. 题目:给定一个整数数组,请找出数组中第二大的数。
答案:首先对数组进行排序,然后取出倒数第二个元素即可。
2. 题目:编写一个函数,实现字符串的反转。
答案:可以使用栈的数据结构,将字符串中的字符依次压入栈中,再依次弹出即可得到反转后的字符串。
3. 题目:判断一个整数是否是回文数。
答案:将整数转换为字符串,然后比较字符串与其反转后的字符串是否相等。
4. 题目:给定一个链表,删除链表的倒数第n个节点。
答案:使用双指针法,一个指针先走n步,然后两个指针一起走,直到第一个指针到达链表末尾,此时第二个指针指向的就是需要删除的节点的前一个节点。
5. 题目:实现一个函数,计算两个整数相加的和。
答案:使用位运算,模拟加法运算的过程,考虑进位的情况。
6. 题目:给定一个二维矩阵,找出矩阵中从左上角到右下角的最短路径,路径上的数字之和最小。
答案:使用动态规划,从左上角开始,每次向下或向右移动,选择路径和最小的方向。
7. 题目:实现一个函数,判断一个整数是否是素数。
答案:从2到该整数的平方根进行遍历,如果该整数能被遍历中的任何一个数整除,则不是素数。
8. 题目:给定一个字符串,找出其中不重复的最长子串的长度。
答案:使用滑动窗口的方法,维护一个窗口,窗口内的字符串都是不重复的,每次向右扩展窗口,并更新最长不重复子串的长度。
9. 题目:给定一个排序数组,找出数组中没有出现的最小正整数。
答案:从1开始遍历,如果当前数字不在数组中,则返回当前数字;如果遍历完数组还没有找到,则返回数组最后一个数字加1。
10. 题目:实现一个函数,计算一个整数的阶乘。
答案:使用递归或循环,从1乘到该整数,注意处理大数的情况。
第五届蓝桥杯省赛b组试题及答案
第五届蓝桥杯省赛b组试题及答案第五届蓝桥杯省赛B组试题及答案一、选择题(每题5分,共20分)1. 下列哪个选项是Python语言中用于定义函数的关键字?A. defB. functionC. funcD. declare答案:A2. 在HTML中,用于定义最重要的标题的标签是?A. <h1>B. <title>C. <header>D. <h6>答案:A3. 在JavaScript中,以下哪个方法用于获取数组中最后一个元素?A. last()B. first()C. pop()D. lastElement()答案:C4. 在CSS中,以下哪个属性用于设置元素的背景颜色?A. background-colorB. bg-colorC. colorD. back-color答案:A二、填空题(每题5分,共20分)1. 在Python中,用于执行条件判断的关键字是________。
答案:if2. 在HTML中,用于创建无序列表的标签是________。
答案:<ul>3. 在JavaScript中,用于获取当前日期的函数是________。
答案:new Date()4. 在CSS中,用于设置文本颜色的属性是________。
答案:color三、简答题(每题10分,共20分)1. 请解释什么是闭包,并给出一个简单的JavaScript闭包示例。
答案:闭包是一个函数和其周围的状态(词法环境)的组合。
闭包允许函数访问其定义时的作用域链,即使在其定义的作用域外执行。
示例:```javascriptfunction createClosure() {var secret = "I'm a secret";return function() {console.log(secret);};}var myClosure = createClosure();myClosure(); // 输出:I'm a secret```2. 请简述HTML5和HTML4的主要区别。
蓝桥杯b组c语言历年题目
蓝桥杯b组c语言历年题目全文共四篇示例,供读者参考第一篇示例:蓝桥杯是中国面向大学生的计算机科学与编程竞赛,设立了不同级别的组别和不同的题目形式,其中B组是C语言编程的比赛,考察参赛选手对于C语言编程的理解和应用能力。
参加B组比赛需要具备一定的编程基础和C语言知识,适合有一定编程经验的大学生参与。
历年来,蓝桥杯B组的C语言题目围绕着各种不同的主题展开,涵盖了计算机科学与编程的各个方面,从基础的数据结构和算法到高级的计算机网络和操作系统等内容,题目设计丰富多样,旨在考察参赛选手的编程能力和创新思维。
以下是部分历年蓝桥杯B组的C语言题目:1. 编写一个程序,实现一个简单的计算器功能,支持加减乘除运算,并能够处理输入错误的情况。
2. 设计一个程序,实现一个简单的俄罗斯方块游戏,要求具备显示界面和键盘控制功能。
3. 编程实现一个简单的网络聊天程序,要求实现客户端和服务器端的通信功能,支持实时消息传输。
4. 设计一个程序,模拟实现一个简单的操作系统,包括进程管理、文件系统和内存管理等功能。
5. 编写一个程序,实现一个简单的图形界面,包括按钮、文本框和标签等控件,能够响应用户的操作。
这些题目涵盖了C语言编程中的各个方面,要求选手具备良好的编程基础和解决问题的能力,能够独立完成编程任务并提供有效的解决方案。
蓝桥杯B组的C语言题目旨在培养参赛选手的编程能力和创新思维,帮助他们提升对计算机科学和编程的理解和实践能力。
参加蓝桥杯B组比赛不仅可以锻炼参赛选手的编程技能,还可以拓宽他们的视野,了解计算机科学与技术领域的最新动态和发展趋势。
通过参加蓝桥杯的比赛,参赛选手可以结识志同道合的朋友,与他们共同探讨问题,交流经验,共同进步。
第二篇示例:蓝桥杯是中国首个面向大学生的计算机程序设计和算法竞赛,有A、B、C、D四个组别,其中B组使用C语言进行比赛。
蓝桥杯B组的比赛题目涵盖了C语言的基础知识、算法和数据结构等方面,旨在考察参赛选手的编程能力和解决问题的能力。
蓝桥杯青少组往年试题
蓝桥杯青少组往年试题
蓝桥杯青少组试题的内容涵盖了计算机科学与技术的各个方面,包括编程基础、数据结构与算法、网络与安全、人工智能等。
试题
的难度逐年增加,旨在培养学生的计算思维能力和创新能力。
在过去的蓝桥杯青少组比赛中,试题的形式多样,包括选择题、填空题、编程题等。
试题涉及的知识点广泛,例如基本语法、循环
结构、条件语句、数组、字符串、递归、排序算法、图论、动态规
划等。
试题的难度适应了不同年级的学生,从初级到高级都有相应
的挑战。
举个例子,一道典型的蓝桥杯青少组试题可能是要求学生编写
一个程序,实现某个特定功能,比如计算一个数列的前n项和,或
者解决一个简单的迷宫问题。
这类题目旨在考察学生的编程能力和
解决问题的能力。
另外,蓝桥杯青少组试题还注重培养学生的团队协作能力。
有
些试题要求学生组队完成,要求团队成员之间相互合作,共同解决
问题。
对于参加蓝桥杯青少组比赛的学生来说,熟悉往年的试题是非常重要的。
可以通过查阅往年试题,了解比赛的形式和内容,针对性地进行学习和准备。
总结起来,蓝桥杯青少组往年试题涵盖了计算机科学与技术的各个方面,试题形式多样,难度逐年增加,注重培养学生的计算思维能力、创新能力和团队协作能力。
熟悉往年试题对于参赛学生来说是非常重要的,可以帮助他们更好地准备比赛。
蓝桥杯2015省赛c语言试题及答案
蓝桥杯2015省赛c语言试题及答案蓝桥杯2015省赛C语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量必须先定义后使用B. 变量的类型必须一致C. 变量的命名只能使用英文字母D. 变量的命名可以包含下划线答案:C2. 在C语言中,以下哪个选项是合法的整型常量?A. 0x1AB. 1.23C. 0123D. E12答案:A3. 关于C语言中的数组,以下说法正确的是:A. 数组的大小在声明时必须确定B. 数组的大小可以在运行时确定C. 数组的下标可以是负数D. 数组的下标可以是小数答案:A4. 下列哪个关键字用于定义C语言中的函数?A. defineB. functionC. intD. void答案:C5. 在C语言中,下列哪个选项是正确的字符串声明?A. char str[10] = "Hello, World!";B. char str[] = "Hello, World!";C. char str[20] = "Hello, World!";D. char str = "Hello, World!";答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字来定义一个函数。
答案:int2. 以下代码段的输出结果是________。
```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. C语言中,________运算符用于计算两个数的和。
答案:+4. 如果一个变量x的值为5,那么表达式x++的结果为________。
答案:65. 在C语言中,使用________关键字来定义一个全局变量。
答案:extern三、编程题(共60分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
2015年蓝桥杯初赛b组试题
第一题正确答案:52488(我居然上来第一题就错了居然写了13440→_→)//cout〈〈8*9*9*9*9;→_→第二题结果填空5‘星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸. 有一个贝塔炸弹,2014年11月9日放置,定时为1天,请你计算它爆炸的准确日期。
请填写该日期,格式为yyyy—mm-dd 即4位年份2位月份2位日期。
比如:2015—02—19请严格按照格式书写。
不能出现其它文字或符号.-题解:不用废话,直接手算顶多3分钟,注意2016是闰年正确答案:2017-08-05第三题结果填空9‘三羊献瑞第三题正确答案:1085第四题代码填空11‘格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断.如果不能恰好居中,可以稍稍偏左或者偏上一点。
下面的程序实现这个逻辑,请填写划线部分缺少的代码。
对于题目中数据,应该输出:++abcd1234++(如果出现对齐问题,参看【图1.jpg】)注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。
-题解:我是一名OI党,入门直接学的是C++,结果考了个printf里面%*s的用法。
.太特么冷门了,穷举了没试出来,原来后面的参数要跟两个。
分数11分怒丢正确答案:(width-strlen(s)—2)/2,”",s,(width-strlen(s)-1)/2,”"备注:答案可以形式多样性,只要代入使得代码成立即可,但要注意奇偶问题所以后面一个要+1不然sample过了也是错的第五题代码填空13‘九数组分数1,2,3。
..9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。
2015年第六届蓝桥杯JavaB组省赛试题解析
2015年第六届蓝桥杯JavaB组省赛试题解析题⽬及解析如下:题⽬⼤致介绍:第⼀题到第三题以及第六题、第七题是结果填空,⽅法不限只要得到最后结果就⾏第四题和第五题是代码填空题,主要考察算法基本功和编程基本功第⼋题到第⼗题是编程题,要求编程解决问题第⼀题三⾓形⾯积送分题,每个⼈都应该会的1// 三⾓形⾯积2// answer: 2834public class t1 {56public static void main(String[] args) {7 System.out.println(64 - 8 - 3 * 4 - 4 * 4);8 }910 }第⼆题⽴⽅变⾃⾝1// ⽴⽅变⾃⾝2// 观察下⾯的现象,某个数字的⽴⽅,按位累加仍然等于⾃⾝。
3// 1^3 = 14// 8^3 = 512 5+1+2=85// 17^3 = 4913 4+9+1+3=176// ...7// 请你计算包括1,8,17在内,符合这个性质的正整数⼀共有多少个?89// answer: 61011public class t2 {1213public static void main(String[] args) {14int res = 0;15for(int i = 1; i<99; i++) {16int s = i * i * i;17int sum = calSum(s);18if(sum == i) {19 res++;20 System.out.println(res + " " + i);21 }22 }2324 System.out.println(res);25 }2627private static int calSum(int s) {28 String str = String.valueOf(s);29int sum = 0;30for(int i = 0; i<str.length(); i++) {31 sum += str.charAt(i) - '0';32 }333435return sum;36 }3738 }这个题也算是送分题第三题三⽺献瑞暴⼒求解,注意看清楚,别看错了!然后可以推导出某些位置的数,⽐如下⾯的三就是1,祥就是9,⽺就是0 1// 三⽺献瑞23// 观察下⾯的加法算式:4//5//6// 祥瑞⽣辉7// + 三⽺献瑞8//-------------------9// 三⽺⽣瑞⽓10//11//12// 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
2015年蓝桥杯A组试题及答案
2015蓝桥杯A组试题方程整数解方程: a^2 + b^2 + c^2 = 1000(或参见【图1.jpg】)这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。
你能算出另一组合适的解吗?请填写该解中最小的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
#include"stdio.h"#include"windows.h"int main(){int a, b, c;for (a = 1; a < 31;a++)for (b= 1; b < 31; b++)for (c = 1; c < 31; c++){if (a*a + b*b + c*c == 1000)printf("%d %d %d\n", a, b, c);}printf("%d %d %d",a,b,c);system("pause");return 0;}星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为yyyy-mm-dd 即4位年份2位月份2位日期。
比如:2015-02-19请严格按照格式书写。
不能出现其它文字或符号。
21+31(2014年)+365(2015年)+366(2016年)=783;1000-783=217(2017年的第217天爆炸);31+28+31+30+31+30+31=212(2017年前七个月的天数);217-212=5(2017年第8个月的第五天爆炸)大牛有用excel直接拖,用vbs算,路漫漫其修远兮......奇妙的数字小明发现了一个奇妙的数字。
蓝桥杯题库经典题型
1、数列排序(数组排序)问题描述给定一个长度为n的数列,将这个数列按从小到大的顺序排列。
1<=n<=200输入格式第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式输出一行,按从小到大的顺序输出排序后的数列。
样例输入58 3 6 4 9样例输出3 4 6 8 9#include<iostream.h>{int n,a;cout<<”请输入n,n是(1~200)之间的整数”;cin>>n;for(int i=0;i<n;i++){}}2、十六进制转八进制(进制转换字符循环)问题描述给定n个十六进制正整数,输出它们对应的八进制数。
输入格式输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出n行,每行为输入对应的八进制正整数。
注意输入的十六进制数不会有前导0,比如012A。
输出的八进制数也不能有前导0。
样例输入239123ABC样例输出714435274提示先将十六进制数转换成某进制数,再由某进制数转换成八进制。
3、十六进制转十进制(进制转换字符处理判断)问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入FFFF样例输出655354、十进制转十六进制(循环整除求余判断)问题描述十六进制数是在程序设计时经常要使用到的一种整数的表示方式。
它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。
十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
蓝桥杯[十二届][B组]-括号序列
蓝桥杯[⼗⼆届][B组]-括号序列题⽬来⾃蓝桥杯练习系统这⼀题在思路不清楚的情况下相当难理解和解决,包括代码,解的话⼀开始笔者就没什么思路,想出来的⽅案要么超时要么难以操作附上代码和解析的思路,希望能帮到和笔者⼀样被严重困扰的朋友#include <bits/stdc++.h>#define int long longusing namespace std;// 最⼤长度和模const int N = 5010, MOD = 1e9 + 7;// dp[i][j]代表到第i个符号,左括号⽐右括号多i个的添加⽅案(添加的是左括号)int dp[N][N];inline int calc(string s) {// 长度int len = s.size();// 初始化memset(dp, 0, sizeof dp);// 读到位置为0时左括号⽐右括号多0个的解决⽅案数量为1dp[0][0] = 1;// 依次枚举每个位置for(int i = 1; i <= len; i++) {// i-1转换为索引if(s[i - 1] == '(') {// 依次左⽐右多1~len个的情况for(int j = 1; j <= len; j++) {// 继承上⼀个的状态,因为读⼊的是左括号,所以不能加左括号了dp[i][j] = dp[i - 1][j - 1];}} else {// 这⾥处理了j=0的情况,即右括号⼤于等于左括号时⽅案数为上⼀个相同情况下的⽅案数和左括号多⼀个的状态(补全当前的右括号)dp[i][0] = (dp[i - 1][0] + dp[i - 1][1]) % MOD;// 如果为右括号,考虑添加左括号,那⽅案就是之前情况的基础上(j-1的情况,相当于少⼀个的情况已经考虑了)和,和上⼀个阶段多⼀个左括号的情况(多⼀个左括号,因为没有给出顺序,所以认为是弥补了此次的右括号)for(int j = 1; j <= len; j++) {dp[i][j] = (dp[i - 1][j + 1] + dp[i][j - 1]) % MOD;}}}// 调试的输出cout<<s<<endl;cout<<"j: ";for(int j=0;j<=len;j++){printf("%4lld ",j);}cout<<endl;for(int i = 0; i <= len; i++) {cout<<i<<": ";for(int j = 0; j <= len; j++) {printf("%4lld ",dp[i][j]);}cout<<endl;}for(int i = 0; i <= len; i++) {// 返回第⼀个不为零的值,理论上不可能是⽆解的,为什么取第⼀个不为0的是因为存在((((这种情况// dp4 0 的值为0的,也就是不能再加左括号了if(dp[len][i]) return dp[len][i];}// 否则返回负⼀return -1;}//inline void solve() {// 输⼊string s;cin >> s;// 镜像⼀个string ss = s;// 翻转镜像reverse(ss.begin(), ss.end());// 遍历每⼀个位置,如果是左括号就变成右括号,如果是右括号就变为左括号,相当于翻转for(int i = 0; i < ss.size(); i++) {ss[i] = (ss[i] == '(') ? ')' : '(';}// 最终解为两种情况乘积对mod取模:ss其实是s的镜像⽐如s:(((),ss:)(((->)))(// 乘积的原理:形如)(((,此时必然要添加⼀个左括号以补全左边的右括号,只有⼀种补全⽅案,所以1*,⽽添加右括号的⽅式有5种,所以是5*// 所需要添加的左右括号⽅案便是1*5cout << calc(s) * calc(ss) % MOD << endl;}signed main() {solve();return0;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一题结果填空3'奖券数目有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。
某抽奖活动的奖券号码是5位数(10-99),要求其中不要出现带"4"的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
-题解:考试的时候写了个回溯法,然后屁颠屁颠的开始做下面一题了。
结果错了→_→1 #include <iostream>2usingnamespacestd;3boolfuck(int t)4 {5while(t)6 {7if(t%10==4)returnfalse;8 t/=10;9 }10returntrue;11 }12intmain()13 {14intans = 0, t = 10;15while(t<100)16if(fuck(t++))ans++;17cout<<ans<<endl;18return0;19 }第一题正确答案:52488(我居然上来第一题就错了居然写了13440→_→)//cout<<8*9*9*9*9; →_→第二题结果填空5'星系炸弹在X星系的广袤空间中漂浮着许多X星人造"炸弹",用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1天,请你计算它爆炸的准确日期。
请填写该日期,格式为yyyy-mm-dd即4位年份2位月份2位日期。
比如:2015-02-19请严格按照格式书写。
不能出现其它文字或符号。
-题解:不用废话,直接手算顶多3分钟,注意2016是闰年正确答案:2017-08-05第三题结果填空9'三羊献瑞观察下面的加法算式:祥瑞生辉+ 三羊献瑞-三羊生瑞气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写"三羊献瑞"所代表的4位数字(答案唯一),不要填写任何多余内容。
-题解:水题,给"祥瑞生辉三羊献气"编号01234567,直接回溯穷举即可1 #include <iostream>2usingnamespacestd;3inta[8];4boolb[10];5voiddfs(int cur)6 {7if(cur == 8)8 {9int x = a[0]*1+a[1]*100+a[2]*10+a[3],y = a[4]*1+a[5]*100+a[6]*10+a[1], z=a[4]*10+a[5]*1+a[2]*100+a[1]*10+a[7];10if(x+y==z)cout<<a[4]<<a[5]<<a[6]<<a[1]<<endl;11 }12else13 {14for(inti = 0; i<10; i++)15 {16if(cur == 0&&i == 0)continue;17if(cur == 4&&i == 0)continue;18if(!b[i])19 {20 b[i]=1;21a[cur]=i;22dfs(cur+1);23 b[i]=0;24 }25 }26 }27 }28intmain()29 {30dfs(0);31return0;32 }第三题正确答案:1085第四题代码填空11'格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。
如果不能恰好居中,可以稍稍偏左或者偏上一点。
下面的程序实现这个逻辑,请填写划线部分缺少的代码。
1 #include <stdio.h>2 #include <string.h>34voidStringInGrid(int width, int height, constchar* s)5 {6inti, k;7charbuf[1];8strcpy(buf, s);9if (strlen(s)>width - 2) buf[width - 2] = 0;1011printf("+");12for (i = 0; i<width - 2; i++) printf("-");13printf("+\n");1415for (k = 1; k<(height - 1) / 2; k++)16 {17printf("");18for (i = 0; i<width - 2; i++) printf("");19printf("\n");20 }2122printf("");2324printf("%*s%s%*s", _____________________________________________); //填空2526printf("\n");2728for (k = (height - 1) / 2 + 1; k<height - 1; k++)29 {30printf("");31for (i = 0; i<width - 2; i++) printf("");32printf("\n");33 }3435printf("+");36for (i = 0; i<width - 2; i++) printf("-");37printf("+\n");38 }3940intmain()41 {42StringInGrid(20, 6, "abcd1234");43return0;44 }对于题目中数据,应该输出:++abcd1234++(如果出现对齐问题,参看【图1.jpg】)注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。
-题解:我是一名OI党,入门直接学的是C++,结果考了个printf里面%*s的用法。
太特么冷门了,穷举了没试出来,原来后面的参数要跟两个。
分数11分怒丢正确答案:(width-strlen(s)-2)/2,"",s,(width-strlen(s)-1)/2,""备注:答案可以形式多样性,只要代入使得代码成立即可,但要注意奇偶问题所以后面一个要+1不然sample过了也是错的第五题代码填空13'九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。
1 #include <stdio.h>23voidtest(int x[])4 {5int a = x[0] * 1 + x[1] * 100 + x[2] * 10 + x[3];6int b = x[4] * 10 + x[5] * 1 + x[6] * 100 + x[7] * 10 + x[8];78if (a * 3 == b) printf("%d / %d\n", a, b);9 }1011voidf(int x[], int k)12 {13inti, t;14if (k >= 9)15 {16 test(x);17return;18 }1920for (i = k; i<9; i++)21 {22 {t = x[k]; x[k] = x[i]; x[i] = t; }23 f(x, k + 1);24 _____________________________________________ // 填空处25 }26 }2728intmain()29 {30intx[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };31 f(x, 0);32return0;33 }注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。
-题解:水题,回溯法的最最基本常识,全局变量回溯完成后必须更改回初值正确答案:{t=x[k]; x[k]=x[i]; x[i]=t;}备注:1.答案可以形式多样性,只要代入使得代码成立即可2.我个人认为一个横线可以填多个语句,所以去掉大括号,或者利用原有t值少写一句子no problem第六题结果填空17'加法变乘法我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
-题解:水题,一共是48个位置,C(48,2)扣掉连在一起的情况,穷举一遍过即可。
1 #include <iostream>2usingnamespacestd;3intmain()4 {5for(inti = 1; i<47; i++)6for(int j = i + 2; j <49; j++)7 {8int sum = 0;9for(int k = 1; k <i; k++)sum+=k;10 sum+=i*(i+1);11for(int k = i+2; k < j; k++)sum+=k;12 sum+=j*(j+1);13for(int k = j+2; k <50; k++)sum+=k;14if(sum==2015)cout<<i<<endl;15 }16return0;17 }第六题正确答案:16第七题结果填空21'牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。