第五蓝桥杯C-C++本科B组试题及答案要点
2014第五届蓝桥杯C-C++本科B组试题及答案要点 1 / 16 2014第五届蓝桥杯C/C++本科B组试题及答案 1.标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。
解答: #include int main() { int x,y; double m=0; for(x=0,y=42;x<35 || x>y;) { y = (int)(82.3-2.3*x)/1.9; m= 2.3*x+1.9*y; if(m==82.3) break; x = x+1; y = y-2; } printf("%d\n%d\n",x,y); return 0; }
2.标题:切面条 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢? 答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。
解答: #include #include int main() 2014第五届蓝桥杯C-C++本科B组试题及答案要点 2 / 16 { printf ("%d" pow ( 2.0 ,10.0 ) + 1); return 0; }
3.标题:李白打酒 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。
请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。
注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。
解答: #include int sum=0; int f(int a,int b,int c){ if(a>0) f(a-1,b,c*2); if(b>0) f(a,b-1,c-1); if(a==0&&b==0&&c==1) sum=sum+1; return sum; } int main(){ f(5,9,2); printf("%d",sum); } 2014第五届蓝桥杯C-C++本科B组试题及答案要点
3 / 16 4.标题:史丰收速算 史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算!
速算的核心基础是:1位数乘以多位数的乘法。 其中,乘以7是最复杂的,就以它为例。 因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1 同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n 下面的程序模拟了史丰收速算法中乘以7的运算过程。 乘以 7 的个位规律是:偶数乘以2,奇数乘以2再加5,都只取个位。 乘以 7 的进位规律是: 满 142857... 进1, 满 285714... 进2, 满 428571... 进3, 满 571428... 进4, 满 714285... 进5, 满 857142... 进6 请分析程序流程,填写划线部分缺少的代码。 2401 //计算个位 int ge_wei(int a) { if(a % 2 == 0) return (a * 2) % 10; else return (a * 2 + 5) % 10; }
//计算进位 int jin_wei(char* p) { 2014第五届蓝桥杯C-C++本科B组试题及答案要点 4 / 16 char* level[] = { "142857", "285714", "428571", "571428", "714285", "857142" };
char buf[7]; buf[6] = '\0'; strncpy(buf,p,6);
int i; for(i=5; i>=0; i--){ int r = strcmp(level[i], buf); if(r<0) return i+1; while(r==0){ p += 6; strncpy(buf,p,6); r = strcmp(level[i], buf); if(r<0) return i+1; ______________________________; //填空 } }
return 0; }
//多位数乘以7 2014第五届蓝桥杯C-C++本科B组试题及答案要点 5 / 16 void f(char* s) { int head = jin_wei(s); if(head > 0) printf("%d", head);
char* p = s; while(*p){ int a = (*p-'0'); int x = (ge_wei(a) + jin_wei(p+1)) % 10; printf("%d",x); p++; } printf("\n"); } int main() { f("428571428571"); f("34553834937543"); return 0; }
注意:通过浏览器提交答案。只填写缺少的内容,不要填写任何多余的内容(例如:说明性文字) 解答: if(r>0)return i;
5.标题:打印图形 小明在X星球的城堡中发现了如下图形和文字: 2014第五届蓝桥杯C-C++本科B组试题及答案要点 6 / 16 rank=3 * * * * * * * * * rank=5 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ran=6 * * * * * * * * * * * * * * * * * * * 2014第五届蓝桥杯C-C++本科B组试题及答案要点 7 / 16 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
小明开动脑筋,编写了如下的程序,实现该图形的打印。 #define N 70 void f(char a[][N], int rank, int row, int col) 2014第五届蓝桥杯C-C++本科B组试题及答案要点 8 / 16 { if(rank==1){ a[row][col] = '*'; return; } int w = 1; int i; for(i=0; i____________________________________________; f(a, rank-1, row+w/2, col); f(a, rank-1, row+w/2, col+w); } int main() { char a[N][N]; int i,j; for(i=0;ifor(j=0;jf(a,6,0,0); for(i=0; ifor(j=0; jprintf("\n"); }
return 0; } 请仔细分析程序逻辑,填写缺失代码部分。 通过浏览器提交答案。注意不要填写题目中已有的代码。也不要写任何多余内容(比如说明性的文字)
解答:
历年蓝桥杯省赛B组真题试题1
(1)煤球数目有一堆煤球,堆成三角棱锥形。
具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),如果一共有100层,共有多少个煤球?题解:纯粹的数学题而已int a[101] ={0};for(int i = 1 ; i < 101 ; i ++)a[i] = a[i-1] + i;int ans = 0;for(int j = 1 ; j < 101 ; j ++)ans += a[j];printf("%d\n",ans);(2)生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。
题解:暴力枚举。
第一重循环枚举刚开始过生日时候的岁数。
第二重循环是枚举现在的岁数第三重循环就是将刚开始过生日的岁数和现在的岁数加起来。
int start,end;for(start = 1 ; start < 236 ; start ++)for( end = start ; end < 236 ; end ++ )int sum = 0;for(int i = start; i <= end; i ++)sum += i;if( sum == 236)printf("start : %d end : %d\n",start,end); (3)B DEFA + — + —— = 10C GHI(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?//29题解:DFS+回溯由于计算机中5/2会等于2,而且如果打算采用精度方面的处理的话,会很麻烦,而且很容易错。
蓝桥杯试题及答案
蓝桥杯试题及答案1. 单项选择题题目:以下哪个选项是Python语言中用于定义函数的关键字?A. classB. functionC. defD. method答案: C2. 多项选择题题目:以下哪些是数据结构中常见的排序算法?A. 快速排序B. 冒泡排序C. 选择排序D. 插入排序答案: A, B, C, D3. 判断题题目:在HTML中,`<p>`标签用于定义段落。
答案:正确4. 填空题题目:在Python中,使用______( )______关键字来创建一个空集合。
答案: set5. 简答题题目:解释什么是闭包,并给出一个Python中的闭包示例。
答案:闭包是一个函数对象,它引用了创建它的外部作用域中的变量。
闭包允许函数访问并操作外部作用域的变量。
示例:```pythondef outer_function(x):def inner_function(y):return x + yreturn inner_functionclosure = outer_function(2)print(closure(3)) # 输出结果为5```6. 编程题题目:编写一个函数,计算并返回斐波那契数列的第n项。
答案:```pythondef fibonacci(n):if n <= 0:return 0elif n == 1:return 1else:a, b = 0, 1for _ in range(2, n + 1):a, b = b, a + breturn b```7. 案例分析题题目:假设你正在开发一个电子商务网站,你需要设计一个购物车系统。
描述购物车系统应该包含哪些核心功能,并给出一个简单的数据结构设计。
答案:核心功能:- 添加商品到购物车- 从购物车中移除商品- 更新购物车中商品的数量- 计算购物车中商品的总价- 清空购物车数据结构设计:```pythonclass ShoppingCart:def __init__(self):self.items = {} # 商品ID映射到商品对象和数量def add_item(self, product_id, quantity):if product_id in self.items:self.items[product_id]['quantity'] += quantity else:self.items[product_id] = {'product':Product(product_id), 'quantity': quantity}def remove_item(self, product_id):if product_id in self.items:del self.items[product_id]def update_quantity(self, product_id, quantity):if product_id in self.items:self.items[product_id]['quantity'] = quantitydef calculate_total(self):total = 0for item in self.items.values():total += item['product'].price *item['quantity']return totaldef clear_cart(self):self.items = {}```8. 论述题题目:讨论在软件开发过程中,为什么需要进行代码审查?答案:代码审查是软件开发过程中一个重要的质量保证步骤。
蓝桥杯2014-决赛-C高职高专组要点
2014年决赛C/C++高职高专组考生须知:●考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。
●考试时间为4小时。
时间截止后,提交答案无效。
●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。
●选手可浏览自己已经提交的答案。
被浏览的答案允许拷贝。
●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
●选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
●选手必须通过浏览器方式提交自己的答案。
选手在其它位置的作答或其它方式提交的答案无效。
●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。
结果填空题:要求选手根据题目描述直接填写结果。
求解方式不限。
不要求源代码。
答案直接通过网页提交即可。
不要书写多余的内容。
代码填空题:要求选手在弄清给定代码工作原理的基础上,填写缺失的代码,使得程序逻辑正确。
所填写的代码不超过一条语句(即中间不能出现分号)。
把答案(仅填空处的答案,不包括题面已存在的代码或符号)直接通过网页提交。
不要书写多余的内容(比如注释)。
使用ANSI C/ANSI C++ 标准,不要依赖操作系统或编译器提供的特殊函数。
程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或A TL等非ANSI C++标准的类库。
例如,不能使用CString类型(属于MFC类库)。
注意: main函数必须返回0注意: 所有依赖的函数必须明确地在源文件中#include <xxx>,不能通过工程设置而省略常用头文件。
蓝桥杯嵌入试题库及答案
蓝桥杯嵌入试题库及答案一、单项选择题(每题2分,共10分)1. 下列关于嵌入式系统的说法,错误的是()。
A. 嵌入式系统通常具有专用性B. 嵌入式系统可以独立运行C. 嵌入式系统不需要操作系统D. 嵌入式系统通常体积较小答案:C2. 嵌入式系统中,实时性是指()。
A. 系统响应时间B. 系统运行时间C. 系统开发时间D. 系统维护时间答案:A3. 在嵌入式系统中,通常使用的编程语言是()。
A. C语言B. Java语言C. Python语言D. C++语言答案:A4. 嵌入式系统中,中断服务程序的主要功能是()。
A. 处理用户输入B. 处理系统错误C. 处理硬件事件D. 处理网络通信答案:C5. 下列关于嵌入式操作系统的描述,正确的是()。
A. 嵌入式操作系统是通用操作系统B. 嵌入式操作系统是为特定应用设计的C. 嵌入式操作系统不能进行多任务处理D. 嵌入式操作系统不能进行网络通信答案:B二、多项选择题(每题3分,共15分)1. 嵌入式系统的特点包括()。
A. 实时性B. 可扩展性C. 专用性D. 通用性答案:AC2. 嵌入式系统的应用领域包括()。
A. 消费电子B. 工业控制C. 医疗设备D. 办公自动化答案:ABC3. 嵌入式系统的开发工具包括()。
A. 编译器B. 调试器C. 模拟器D. 编辑器答案:ABC4. 嵌入式系统的硬件组成部分通常包括()。
A. 微处理器B. 存储器C. 输入/输出设备D. 显示器答案:ABC5. 嵌入式系统软件的组成部分包括()。
A. 操作系统B. 应用程序C. 驱动程序D. 网络协议答案:ABC三、判断题(每题1分,共10分)1. 嵌入式系统通常由软件和硬件两部分组成。
(对)2. 嵌入式系统的软件部分包括操作系统、应用程序和驱动程序。
(对)3. 嵌入式系统的硬件部分包括微处理器、存储器和输入/输出设备。
(对)4. 嵌入式系统不需要考虑功耗问题。
(错)5. 嵌入式系统通常采用通用操作系统。
2016蓝桥杯c语言校赛试题及答案
2016蓝桥杯c语言校赛试题及答案2016蓝桥杯C语言校赛试题及答案一、选择题(每题5分,共30分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C2. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B3. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o', '\0'};D. char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'};答案:C4. 下列哪个选项是C语言中合法的数组声明?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = {1, 2};D. int arr[] = {1, 2, 3, 4};答案:A5. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > y) { ... }B. if x > y { ... }C. if (x > y) then { ... }D. if x > y then { ... }答案:A6. 下列哪个选项是C语言中合法的循环语句?A. for (int i = 0; i < 10; i++)B. for i = 0 to 10C. while (i < 10)D. do { ... } while (i < 10);答案:A二、填空题(每题5分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是_________。
蓝桥杯试题集 java c组
蓝桥杯试题集 java c组
1.字符串的拼接:要求编写一个函数,将两个字符串s1和s2
拼接起来,返回拼接后的字符串。
2.数字的排序:给定一个包含若干个整数的数组,将数组中
的元素按照非递减顺序排列。
3.数组的查找:编写一个函数,在给定的整数数组中查找指
定的元素,如果找到则返回该元素的索引,否则返回-1。
4.数组的遍历:编写一个函数,按顺序访问给定整数数组中
的每个元素,并输出它们的值。
5.数组的插入:给定一个有序整数数组和一个目标值,将目
标值插入到数组中的适当位置,以保持数组的有序性。
6.数组的删除:从给定的有序整数数组中删除指定元素,并
保持数组的有序性。
7.数组的查找区间:编写一个函数,在给定的有序整数数组
中查找指定区间的元素,并返回该区间内元素的个数。
8.数组的排序:对给定的整数数组进行排序(升序或降
序),并返回排序后的数组。
9.数组的逆序:编写一个函数,将给定的整数数组逆序排
列。
10.字符串的替换:给定两个字符串s和p,将字符串s中所
有与字符串p匹配的部分替换为指定的字符串q,并返回替换后的字符串。
蓝桥杯训练试题及答案
蓝桥杯训练试题及答案1. 单项选择题请从以下选项中选择最符合题意的答案。
(1) 以下哪个选项是Python语言的解释器?A. JavaB. Node.jsC. PythonD. Ruby答案:C(2) 在HTML中,用于定义最重要的标题的标签是什么?A. <h1>B. <h6>C. <p>D. <div>答案:A2. 多项选择题请从以下选项中选择所有符合题意的答案。
(1) 以下哪些是数据结构中的基本概念?A. 栈B. 队列C. 树D. 循环答案:A, B, C(2) 在JavaScript中,哪些关键字用于声明变量?A. varB. letC. constD. function答案:A, B, C3. 判断题请判断以下陈述是否正确。
(1) 在C语言中,数组的索引从1开始。
答案:错误(2) 在数据库中,主键用于唯一标识表中的每条记录。
答案:正确4. 填空题请根据题目要求填写适当的内容。
(1) 在Python中,用于定义函数的关键字是____。
答案:def(2) 在HTML中,用于插入图片的标签是____。
答案:<img>5. 简答题请简要回答以下问题。
(1) 什么是算法的时间复杂度?答案:算法的时间复杂度是指算法执行时间随输入规模增长的变化趋势,通常用大O表示法来描述。
(2) 请简述面向对象编程的三大特性。
答案:面向对象编程的三大特性包括封装性、继承性和多态性。
6. 编程题请编写一个函数,实现将输入的字符串反转。
(1) 编程语言:Python答案:```pythondef reverse_string(s):return s[::-1]```(2) 编程语言:JavaScript答案:```javascriptfunction reverseString(s) {return s.split('').reverse().join('');}```。
2016蓝桥杯c-c++省赛试题及答案解析
2016蓝桥杯c-c++B组省赛试题及解析第一题煤球数目有一堆煤球,堆成三角棱锥形。
具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),。
.。
.如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字.答案:171700#include〈stdio。
h>int main(){int a[101]={0};for(int i = 1 ;i < 101 ; i ++)a[i] = a[i—1]+ i;int ans = 0;for(int j = 1 ; j 〈101 ; j ++)ans += a[j];printf("%d\n",ans);return 0;}第二题生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛.请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:26#include<stdio。
h>int main(){int start,end;for(start = 1 ;start 〈236 ;start ++){for(end = start ;end 〈236 ;end ++ ){int sum = 0;for(int i = start;i <= end; i ++)sum += i;if(sum == 236){printf(”start :%d end : %d\n”,start,end);}}}return 0;}第三题凑算式B DEFA + ———+ -—-—--- = 10C GHI(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
大学生蓝桥杯试题及答案
大学生蓝桥杯试题及答案一、单项选择题(每题2分,共20分)1. 以下哪个选项是Python中定义函数的关键字?A. functionB. defC. defineD. func答案:B2. 在HTML中,用于定义最重要的标题的标签是?A. <h1>B. <h6>C. <title>D. <header>答案:A3. 下列哪个选项不是JavaScript中的数据类型?A. NumberB. StringC. BooleanD. List答案:D4. 在C语言中,以下哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案:B5. 在数据库中,用于从一个表中查询数据的SQL语句是?A. SELECTB. INSERTC. UPDATED. DELETE答案:A6. 在Java中,用于捕获异常的关键字是?A. tryB. catchC. throwD. finally答案:B7. 在CSS中,用于设置元素的字体颜色的属性是?A. colorB. font-colorC. text-colorD. font答案:A8. 在Python中,用于创建空列表的语法是?A. list()B. []C. list = ()D. list = []答案:B9. 在HTML中,用于创建无序列表的标签是?A. <ul>B. <ol>C. <dl>D. <table>答案:A10. 在JavaScript中,用于定义全局变量的关键字是?A. varB. letC. constD. global答案:A二、填空题(每题3分,共15分)11. 在Python中,使用________函数可以将字符串转换为浮点数。
答案:float()12. 在HTML中,用于创建超链接的标签是________。
答案:<a>13. 在C语言中,用于定义一个结构体的关键字是________。
蓝桥杯试题C语言答案
1、A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛:(1)A参加时,B也参加;(2)B和C只有一个人参加;(3)C和D或者都参加,或者都不参加;(4)D和E中至少有一个人参加;(5)如果E参加,那么A和D也都参加。
00110 c、d#include<stdio.h>int main(){int a,b,c,d,e; /*0表示不参加, 1表示参加.*/for(a=0;a<2;a++)for(b=0;b<2;b++)for(c=0;c<2;c++)for(d=0;d<2;d++)for(e=0;e<2;e++){if(a&&!b) continue;if(b&&c||!b&&!c) continue;if(c&&!d||!c&&d) continue;if(!d&&!e) continue;if(e&&(!a||!d)) continue;printf("%d%d%d%d%d",a,b,c,d,e);}return 0;}2、某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:1)A和B两人中至少去一人;2)A和D不能一起去;3)A、E和F三人中要派两人去;4)B和C都去或都不去;5)C和D两人中去一个;6)若D不去,则E也不去。
试编写一个程序,输出问应当让哪几个人去?#include<stdio.h>int main(){int a,b,c,d,e,f;for(a=1;a>=0;a--)for(b=1;b>=0;b--)/*1:去 0:不去*/for(c=1;c>=0;c--)for(d=1;d>=0;d--)for(e=1;e>=0;e--)for(f=1;f>=0;f--){if(a+b>=1&&a+d!=2&&a+e+f==2&&b==c&&c+d==1&&(d+e==0||d==1))printf("a=%d,b=%d,c=%d,d=%d,e=%d,f=%d",a,b,c,d,e,f);}return 0;}3、警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷。
