第三届“蓝桥杯”c、c 组初赛试题
蓝桥杯c c 省赛试题及答案解析
2016蓝桥杯c-c++B组省赛试题及解析第一题煤球数目有一堆煤球,堆成三角棱锥形。
具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:171700#include<>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<>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(如果显示有问题,可以参见【图】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
蓝桥杯 c 试题及答案
蓝桥杯 c 试题及答案蓝桥杯是中国著名的信息技术竞赛,被誉为“程序员的奥林匹克”。
每年举办的蓝桥杯分为初赛和复赛两个阶段,覆盖了大学生、高中生和中学生等多个年龄段。
本文将为大家介绍蓝桥杯 C 试题及答案,希望能对参赛者有所帮助。
一、试题概述蓝桥杯 C 试题是蓝桥杯竞赛中的一道编程题目,通常难度较大,需要对编程语言有一定的掌握和理解。
该题目主要涉及算法、数据结构、编程思想等方面的知识,要求选手提交一个能够运行的程序,并输出符合题目要求的结果。
二、题目要求蓝桥杯 C 试题通常以具体的问题场景为背景,要求选手使用编程语言解决实际的问题。
试题要求选手根据题目描述,编写相应的程序代码,并在规定的时间内提交答案。
三、解题思路解决蓝桥杯 C 试题首先需要仔细阅读题目要求和描述,理解问题的背景和具体需求。
在编写程序时,需要灵活运用所学的算法和数据结构知识,合理选择合适的数据类型和数据结构来解决问题。
解题思路可以从以下几个方面展开:1. 根据题目描述建立适当的数据模型;2. 分析题目需求,确定解题思路;3. 编写代码实现解题思路;4. 测试代码,确保程序运行正确。
四、参考答案由于蓝桥杯竞赛的试题内容每年都有所变化,因此无法提供具体的参考答案。
但是,在参加蓝桥杯之前,可以通过学习历年的蓝桥杯 C 试题,了解题型和解题方法,提高自己的编程能力。
在备战蓝桥杯时,可以参考以下几点建议:1. 多做练习题,熟悉各种题型;2. 学习常用的算法和数据结构,如排序、查找、树、图等;3. 加强对编程语言的掌握,熟悉常用的语法和函数库;4. 参加类似的编程比赛,提高解题速度和编码能力;5. 与他人讨论、交流,学习他人的解题思路和方法。
总之,蓝桥杯 C 试题及答案是参赛者备战蓝桥杯竞赛的重要参考资料。
希望本文的介绍能够对参赛者有所帮助,并祝愿大家在蓝桥杯竞赛中取得好成绩!。
第三届蓝桥杯预赛真题及详细答案
第三届蓝桥桥杯预赛真题及详细答案一、微生物增殖假设有两种微生物X 和YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。
题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只Y 就是最终导致Y 种群灭绝的最后一根稻草!请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!答案:0 和94371840(此题比较简单就不写程序了,以下均有程序)二、古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!参考答案:21978参考程序:#include<stdio.h>void main(){int k,t1 ,t;for(k=10234;k<50000;k++){bool flag[10]={0};t=k;t1=0;while(t){if(flag[t%10])break ;flag[t%10] = true ;t1 = t1*10 + t%10 ;t /= 10 ;}if( t==0 && t1%k==0){printf("%d * %d = %d\n",k,t1/k,t1);}}三、比酒量有一群海盗(不多于20人),在船上比拼酒量。
过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。
第三届蓝桥桥杯预赛真题及详细答案
第三届蓝桥桥杯预赛真题及详细答案一、微生物增殖假设有两种微生物X 和Y X 出生后每隔 3 分钟分裂一次(数目加倍)Y 出生后每隔 2 分钟分裂一次,(数目加倍)。
一个新出生的X,半分钟之后吃掉 1 个Y,并且,从此开始,每隔 1 分钟吃 1 个Y。
现在已知有新出生的X=10, Y=89,求60 分钟后Y 的数目。
如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60 分钟后Y 的数目。
题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只Y 就是最终导致Y 种群灭绝的最后一根稻草!请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!答案:0 和94371840 (此题比较简单就不写程序了,以下均有程序)二、古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA 他对华生说:“ABCDE 应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!参考答案:21978 参考程序:#include<stdio.h>void main(){ int k,t1,t;for(k=10234;k<50000;k++){ bool flag[10]={0}; t=k; t1=0;while(t){ if(flag[t%10]) break ; flag[t%10] =true ; t1 = t1*10 + t%10 ; t /= 10 ; } if( t==0 && t1%k==0){ printf("%d * %d = %d\n",k,t1/k,t1); } }}三、比酒量有一群海盗(不多于20 人),在船上比拼酒量。
蓝桥杯c组试题及答案
蓝桥杯c组试题及答案一、选择题(每题5分,共20分)1. 下列关于C语言的描述,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持函数式编程答案:B2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于指针的描述,正确的是:A. 指针可以存储变量的地址B. 指针可以存储变量的值C. 指针不能存储数组的地址D. 指针不能存储函数的地址答案:A4. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题5分,共20分)1. 在C语言中,表示逻辑与的运算符是______。
答案:&&2. 用于声明一个整型变量的关键字是______。
答案:int3. 在C语言中,数组的索引是从______开始的。
答案:04. C语言中,用于结束一个程序的语句是______。
答案:return三、编程题(每题30分,共60分)1. 编写一个C语言程序,实现计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```2. 编写一个C语言程序,实现一个简单的计算器,可以计算两个整数的加、减、乘、除。
```c#include <stdio.h>int main() {int a, b;char op;float result;printf("Enter first number: ");scanf("%d", &a);printf("Enter operator (+, -, *, /): ");scanf(" %c", &op);printf("Enter second number: ");scanf("%d", &b);switch (op) {case '+':result = a + b;break;case '-':result = a - b;break;case '*':result = a * b;break;case '/':if (b != 0)result = (float)a / b;else {printf("Division by zero error!\n"); return 1;}break;default:printf("Invalid operator!\n");return 1;}printf("Result: %.2f\n", result);return 0;}```。
蓝桥杯c语言试题
蓝桥杯c语言试题蓝桥杯是中国著名的计算机科学与技术大赛,每年都吸引着众多C 语言爱好者和程序设计师的参与。
C语言作为一种被广泛使用的编程语言,也成为了蓝桥杯的重点考察内容之一。
在本文中,我们将介绍一道蓝桥杯C语言试题,并提供解答思路和示例代码。
题目描述:给定一个正整数n(1 <= n <= 1000),请编写一个程序,找出1到n之间所有能被3或5整除的数的和。
解答思路:为了求解给定数n范围内能被3或5整除的数的和,我们可以使用循环和判断语句来筛选出满足条件的数,并进行累加求和。
具体步骤如下:1. 初始化一个变量sum,用于存储满足条件的数的和。
2. 使用循环遍历1到n之间的所有数,可以使用for循环或while循环。
3. 在循环中,使用if语句判断当前数是否能够被3或5整除。
4. 若当前数可以被3或5整除,将该数累加到sum中。
5. 循环结束后,输出sum的值,即为满足条件的数的和。
示例代码:```c#include <stdio.h>int main() {int n;printf("请输入一个正整数n:");scanf("%d", &n);int sum = 0;for (int i = 1; i <= n; i++) {if (i % 3 == 0 || i % 5 == 0) {sum += i;}}printf("1到%d之间所有能被3或5整除的数的和为:%d\n", n, sum);return 0;}```通过以上示例代码,我们可以实现对给定数n范围内能被3或5整除的数的求和。
在程序运行时,用户需输入一个正整数n,程序将输出1到n之间能被3或5整除的数的和。
总结:本文介绍了一道蓝桥杯C语言试题,并提供了解答思路和示例代码。
使用循环和判断语句,可以轻松实现对给定数范围内能被指定数值整除的数的求和。
蓝桥杯大学组试题及答案
蓝桥杯大学组试题及答案一、单项选择题(每题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元素绘制一个简单的矩形。
c蓝桥杯试题及答案
c蓝桥杯试题及答案蓝桥杯试题及答案蓝桥杯是中国最具影响力和参与度最高的计算机科学和信息技术竞赛,是由中国科学院计算技术研究所创办的全国性高校计算机能力大赛。
本文将为大家介绍蓝桥杯试题的一些特点以及提供一些参考答案。
一、蓝桥杯试题的特点蓝桥杯试题旨在考察学生的计算机编程水平和创新能力,题目类型多样,难度适中。
以下是一些蓝桥杯试题的常见特点:1. 综合性:蓝桥杯试题通常会综合多个知识点,考察学生对于不同知识的综合运用能力。
例如,一道试题可能结合了数据结构、算法和编程语言等多个方面的知识。
2. 实践性:蓝桥杯试题注重学生的实践能力,会设计一些需要编程实现的题目,以此来考察学生的编程能力和解决实际问题的能力。
3. 创新性:蓝桥杯试题鼓励学生的创新思维,会提供一些开放性的问题,让学生自由发挥,展现自己的创造力。
4. 考察面广:蓝桥杯试题的题目涵盖了计算机科学和信息技术的各个方面,包括但不限于数据结构、算法、网络编程、人工智能等。
二、蓝桥杯试题参考答案示例以下是一些蓝桥杯试题的参考答案示例,供大家参考:1. 编程题题目描述:请编写一个程序,实现输入一个整数n,输出1到n之间的所有偶数。
参考答案:```pythonn = int(input("请输入一个整数n:"))for i in range(1, n+1):if i % 2 == 0:print(i)```2. 算法题题目描述:有一个整数数组,请实现一个算法,找出数组中两个数的和等于给定目标值的所有组合,返回这些组合。
参考答案:```pythondef find_combinations(nums, target):result = []for i in range(len(nums)-1):for j in range(i+1, len(nums)):if nums[i] + nums[j] == target:result.append((nums[i], nums[j]))return resultnums = [2, 4, 6, 8, 10]target = 12print(find_combinations(nums, target))```3. 开放性题题目描述:设计一个应用程序,实现手机定位功能并展示当前位置的地图。
第三届蓝桥杯软件大赛决赛样题与规则
第三届“蓝桥杯”软件大赛-决赛规则:2012-4-11/Article/ShowArticle.asp?ArticleID=2851. 组别划分2. 时间3.形式4. 参赛选手机器环境5. 题目形式6. 涉及知识 7. 评分8. 答题形式注意(重要) 9. 样题10. 注意事项1. 组别划分竞赛分为:高职高专c/c++,高职高专java,本科c/c++,本科java 共4个组别。
每位选手只能参加其中一个组别的竞赛。
2. 时间赛程:4小时,全程封闭。
c/c++本科为上午。
其它组别为下午。
具体时间以准考证为准。
3.形式全程机考。
选手机器通过局域网连接到决赛服务器。
以服务器-浏览器方式发放试题、提交结果。
4. 参赛选手机器环境机器配置 X86 兼容机器,内存不小于1G,硬盘不小于60G Windows NT 内核系统(WindowsXP, Windows2000等)c/c++ 开发环境:Visual C++ 6.0 (英文,精简版) 支持ANSI C++ 标准支持STL 不支持 MFC,ATL类库帮助文档(英文,chm格式) Borland C++ 3.1 (精简版) Java 开发环境 JDK 1.5 Eclipse Helios for JavaSE JCreator 2.0 API 帮助文档(英文,中文,chm格式)5. 题目形式竞赛题目完全为客观题型,选手所提交程序的运行结果为主要评分依据。
(1)填空题题目为若干具有一定难度梯度、分值不等的结果填空题或代码完善填空题。
结果填空题题目描述一个具有确定解的问题。
要求选手对问题的解填空。
代码填空题题目描述一个具有确定解的问题。
题目同时给出解决该问题的代码,但其中有缺失部分。
要求选手读懂代码逻辑,对其中的空缺部分补充代码,使整段代码完整。
(2)编程题题目为若干具有一定难度梯度、分值不等的编程题目。
这些题目的要求明确、答案客观。
题目一般要用到标准输入和输出。
第三届 蓝桥杯 预赛题目(部分)1
1、结果填空求三个三角形面积。
2、结果填空两人共卖150个鸡蛋,两人赚了一样的钱,交换价格卖,一个卖32元另一个24.5元,求两人卖的鸡蛋数。
3、结果填空ABCDE*?=ECDBA (顺序不记得了每个字母和?代表一个数字,暴力求出ABCDE各自代表的数
4、结果填空13张牌、、、、、
5、代码填空干支纪年
6、代码填空身份证校验
7、代码填空矩阵顺时针旋转90度。
8、程序设计
手机尾号得分,
ABCD,DCBA连号5分;
AAAB,ABBB,3分,AAAA 6分;
ABAB,AABB 2分,AAAA 4分;
6,8,9出现一次一分。
得分为所有符合条件加分项的和。
输入n(小于100)个尾号,输出对应得分
9、程序设计
输入罗马数字输出十进制数。
I V X L C D M 对应1 5 10 50 100 500 1000
III 3 XXX 30 CC 200,出现几次就是其倍数,仅对于IXCM有效
IV 4 左小右大,右减左。
……
……
……
CMXCIX 999
10、程序设计
A B C
D E
空格相邻字母可移动、
表示成字符串ABCDE*
输入若干字符串,可移动得到输出1,不可得到输出0。
蓝桥杯基础试题及答案
蓝桥杯基础试题及答案1. 题目:给定一个整数数组,请找出数组中第二大的数。
答案:首先对数组进行排序,然后取出倒数第二个元素即可。
2. 题目:编写一个函数,实现字符串的反转。
答案:可以使用栈的数据结构,将字符串中的字符依次压入栈中,再依次弹出即可得到反转后的字符串。
3. 题目:判断一个整数是否是回文数。
答案:将整数转换为字符串,然后比较字符串与其反转后的字符串是否相等。
4. 题目:给定一个链表,删除链表的倒数第n个节点。
答案:使用双指针法,一个指针先走n步,然后两个指针一起走,直到第一个指针到达链表末尾,此时第二个指针指向的就是需要删除的节点的前一个节点。
5. 题目:实现一个函数,计算两个整数相加的和。
答案:使用位运算,模拟加法运算的过程,考虑进位的情况。
6. 题目:给定一个二维矩阵,找出矩阵中从左上角到右下角的最短路径,路径上的数字之和最小。
答案:使用动态规划,从左上角开始,每次向下或向右移动,选择路径和最小的方向。
7. 题目:实现一个函数,判断一个整数是否是素数。
答案:从2到该整数的平方根进行遍历,如果该整数能被遍历中的任何一个数整除,则不是素数。
8. 题目:给定一个字符串,找出其中不重复的最长子串的长度。
答案:使用滑动窗口的方法,维护一个窗口,窗口内的字符串都是不重复的,每次向右扩展窗口,并更新最长不重复子串的长度。
9. 题目:给定一个排序数组,找出数组中没有出现的最小正整数。
答案:从1开始遍历,如果当前数字不在数组中,则返回当前数字;如果遍历完数组还没有找到,则返回数组最后一个数字加1。
10. 题目:实现一个函数,计算一个整数的阶乘。
答案:使用递归或循环,从1乘到该整数,注意处理大数的情况。
第三届“蓝桥杯”c、c++组初赛试题
第三届“蓝桥杯”全国软件专业人才设计与创业大赛是工业和信息化部人才交流中心、教育部高等学校计算机科学与技术教学指导委员会联合举办的全国性软件专业人才设计与创业大赛。
初赛:大赛分为JAVA软件开发、C/C++语言程序设计两个项目。
2011 c/c++组初赛试题考试时间2小时1、两个乒乓球队进行比赛,各出三人。
甲队为a,b,c三人,乙队为x,y,z三人。
已抽签决定比赛名单。
有人向队员打听比赛的名单。
a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单2、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数5,6,4,3,99,3,4,6,53、任何一个自然数m的立方均可写成m个连续奇数之和。
例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n^3的n个连续奇数。
4、由键盘输入一个自然数N(1≤N≤9),要求程序在屏幕上输出如下图形。
N=1时:N=3时:N=4时:111111111111112221122222112321123332112221123432111111123332112222211111111注:应保证N在图形中只出现一次,且在中心。
5、验证18位证件号:输入18位证件号,将奇位数的值相加的和求的平均数X,偶位数先与3相乘得到的个位数的和的平均数y。
如果(X+Y)是10的倍数,则证件号正确,否则则错误。
请编写程序验证证件号是否正确。
(12分)列入输入:431023198919230939输出:正确分析:奇位数:3 0 3 9 9 9 3 9 9偶位数:3 0 2 1 8 1 2 1 4X:(3+0+3+9+9+9+3+9+9)/9 = 6Y: 3*3 = 9 0*3 = 0 2*3 = 6 1*3 = 3 8*3 = 24 1*3 = 3 2*3 = 6 1*3 = 3 4*3 = 12 (9+0+6+3+4+3+6+3+2)/9 = 4X+Y = 6+4 = 10。
蓝桥杯c试题及答案
蓝桥杯c试题及答案蓝桥杯是中国最具影响力的计算机科学大赛之一,旨在发掘和培养计算机科学和信息技术领域的优秀人才。
每年,数以万计的学生参加这个激烈的竞赛,争夺奖金和荣誉。
在这里,我将向大家介绍几道经典的蓝桥杯C试题及其答案,希望能对大家有所帮助。
试题一:编写一个C程序,求解两个整数的最大公约数。
```c#include <stdio.h>int gcd(int a, int b){if(b == 0)return a;elsereturn gcd(b, a%b);}int main(){int a, b;printf("请输入两个整数:");scanf("%d %d", &a, &b);printf("最大公约数为:%d", gcd(a, b));return 0;}```试题二:编写一个C程序,判断一个给定的整数是否为素数。
```c#include <stdio.h>#include <math.h>int isPrime(int n){int i;if(n <= 1)return 0;for(i=2; i<=sqrt(n); i++){if(n % i == 0)return 0;}return 1;}int main(){int n;printf("请输入一个整数:");scanf("%d", &n);if(isPrime(n))printf("%d是素数", n);elseprintf("%d不是素数", n);return 0;}```试题三:编写一个C程序,实现二分查找算法。
```c#include <stdio.h>int binarySearch(int arr[], int left, int right, int target){ if(left <= right){int mid = left + (right - left) / 2;if(arr[mid] == target)return mid;if(arr[mid] < target)return binarySearch(arr, mid+1, right, target);return binarySearch(arr, left, mid-1, target);}return -1;}int main(){int arr[] = {2, 4, 6, 8, 10, 12};int target = 6;int n = sizeof(arr)/sizeof(arr[0]);int result = binarySearch(arr, 0, n-1, target);if(result == -1)printf("未找到%d", target);elseprintf("找到%d,索引为%d", target, result);return 0;}```以上是三道经典的蓝桥杯C试题及其解答。
蓝桥杯试题及答案
蓝桥杯试题及答案蓝桥杯是面向全国高校计算机专业学生的程序设计竞赛,由工业和信息化部人才交流中心主办,旨在提高学生的编程能力、算法设计能力以及团队合作能力。
以下是一份蓝桥杯试题及答案的示例,供参考。
### 蓝桥杯程序设计竞赛试题及答案#### 题目一:求最大公约数题目描述:给定两个正整数 a 和 b,请编写一个程序计算它们的最大公约数(GCD)。
输入格式:输入包含两个整数 a 和 b,用空格分隔。
输出格式:输出 a 和 b 的最大公约数。
样例输入:```24 36```样例输出:``````答案:```c#include <stdio.h>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int a, b;scanf("%d %d", &a, &b);printf("%d\n", gcd(a, b));return 0;}```#### 题目二:字符串反转题目描述:编写一个程序,实现对输入的字符串进行反转。
输入格式:输入一个字符串。
输出格式:输出反转后的字符串。
样例输入:```Hello World```样例输出:`````ldrow olleH```答案:```c#include <stdio.h>#include <string.h>int main() {char str[1000];scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) { printf("%c", str[i]);}return 0;}```#### 题目三:二分查找题目描述:在一个已排序的数组中,使用二分查找算法找出一个特定元素的位置。
第三届蓝桥杯全国选拔赛答案解析
第一题:微生物增殖#include <cstdio>int main(){long int X=10, Y=90;for(int k=1; k<=120; k++)//半分钟一个单位{if(k%2==1)Y -= X;//因为X出生半分钟后就要吃Y,尔后每1分钟要吃Y,所以永远都是奇数个半分钟的时候吃Y,又因为此时X不会增长(题目为了减小讨论的复杂度),所以直接减X数量即可。
if(k%4==0)Y *= 2;//每2分钟翻倍if(k%6==0)X *= 2;//每3分钟翻倍,X和Y的翻倍是相互独立的,不需要另作讨论。
}printf("%d", Y);return 0;}第二题:古堡算式#include <cstdio>int main(){long int X=10, Y=90;for(int k=1; k<=120; k++)//半分钟一个单位{if(k%2==1)Y -= X;//因为X出生半分钟后就要吃Y,尔后每1分钟要吃Y,所以永远都是奇数个半分钟的时候吃Y,又因为此时X不会增长(题目为了减小讨论的复杂度),所以直接减X数量即可。
if(k%4==0)Y *= 2;//每2分钟翻倍if(k%6==0)X *= 2;//每3分钟翻倍,X和Y的翻倍是相互独立的,不需要另作讨论。
}printf("%d", Y);return 0;}第三题:比酒量#include <cstdio>#define MAX 20int n, m; //n个海盗,m轮后全体倒下,船长喝了t瓶酒double drink[MAX], t; //记录船长每轮喝的酒量void dfs(int x, int y)if(y <= 0){double sum = 0.0;for(int i = 1; i <= m; i++)sum += drink[i];double dif = sum - t;if(dif < 0.0) dif = -dif;if(dif < 0.000001){for(int i = m; i > 0; i--)printf("%d ", (int)(1.0 / drink[i]));printf("\n");}return;}if(x <= 0) return;drink[y] = 1.0 / x;for(int i = 1; i < x; i++)dfs(x - i, y - 1);}int main(){m = 4; //喝了四轮t = 1.0; //船长喝了一瓶酒for(n = 20; n >= 1; n--)dfs(n, m);return 0;}第四题:奇怪的比赛#include <cstdio>#define MAX 20int n, m; //n个海盗,m轮后全体倒下,船长喝了t瓶酒double drink[MAX], t; //记录船长每轮喝的酒量void dfs(int x, int y){if(y <= 0){double sum = 0.0;for(int i = 1; i <= m; i++)sum += drink[i];double dif = sum - t;if(dif < 0.0) dif = -dif;if(dif < 0.000001){for(int i = m; i > 0; i--)printf("%d ", (int)(1.0 / drink[i]));printf("\n");}return;}if(x <= 0) return;drink[y] = 1.0 / x;for(int i = 1; i < x; i++)dfs(x - i, y - 1);}int main(){m = 4; //喝了四轮t = 1.0; //船长喝了一瓶酒for(n = 20; n >= 1; n--)dfs(n, m);return 0;}第五题:转方阵sizeof(int)*rank*rankrank*(i%rank) + rank-i/rank-1第六题:大数乘法n3/base+n2/base+n4%baser[2]/base第七题:放棋子NumRow!=3 || NumCol!=3f(x,r,c+1)x[r][c]==1第八题:密码发生器#include <cstdio>#include <cstring>#define MAX 1005long num[6];char tmp[MAX];int main(){int t;scanf("%d", &t);while(t){memset(num, 0, sizeof num);fgets(tmp, MAX, stdin);if(tmp[0] == '\n' || strlen(tmp) == 0) continue;for(int i = 0; tmp[i] != 0 && tmp[i] != '\n'; i++){num[i%6] += tmp[i];}for(int j = 0; j < 6; j++){int t = num[j] % 9;printf("%d", t ? t : 9);}putchar('\n');--t;}return 0;}第八题:密码发生器#include <cstdio>#include <cstring>#define MAX 1005long num[6];char tmp[MAX];int main(){int t;scanf("%d", &t);while(t){memset(num, 0, sizeof num);fgets(tmp, MAX, stdin);if(tmp[0] == '\n' || strlen(tmp) == 0) continue;for(int i = 0; tmp[i] != 0 && tmp[i] != '\n'; i++){num[i%6] += tmp[i];}for(int j = 0; j < 6; j++){int t = num[j] % 9;printf("%d", t ? t : 9);}putchar('\n');--t;}return 0;}第九题:夺冠概率#include <cstdio>#include <stdlib.h>#include <time.h>#define COUNT 100000const int g = 0;double P[4][4] = {{0, 0.1, 0.3, 0.5}, {0.9, 0, 0.7, 0.4},{0.7, 0.3, 0, 0.2},{0.5, 0.6, 0.8, 0}};int main(){srand((unsigned)time(NULL));double sum = 0.0;for(int k = 1; k <= COUNT; k++){int x = g, y = g, z = g;while(x == g) x = rand() % 4;//while(y==g || y==x) y=rand()%4; //此处的生成y的方法和下面的方法有轻微差异for(int ii = 0; ii < 4 && (ii == g || ii == x); )++ii; //约有0.001的浮动,推荐用下面这个方法y = ii;for(int i = 0; i < 4 && (i == g || i == x || i == y); )++i;z = i;double r = 1 - (P[x][g] + P[g][x] * (P[y][z] * P[y][g] + P[z][y] * P[z][g]));sum += r;}printf("%lf\n", sum / COUNT);return 0;}第十题:#include <stdio.h>#include <string.h>int a[10001];int b[4] = {1, 3, 7, 8};int main(){int i, n, j;memset(a, 0, sizeof a); //初始化判定数组为0a[0] = 1; //说明对方取完了最后一堆,那么自己胜利for(i = 1; i <= 10000; i++)for(j = 0; j < 4; j++)if(i - b[j] >= 0){if(a[i-b[j]] == 0) //有取法能致使对方输,那么自己就要赢{a[i] = 1;break;}}scanf("%d", &n);while(n--){scanf("%d", &i);printf("%d\n", a[i]);}return 0;}。
蓝桥杯试题及答案C语言c组
蓝桥杯试题及答案C语言c组蓝桥杯试题及答案C语言C组1. 题目一:字符串反转要求:编写一个函数,实现字符串的反转。
答案:以下是一个简单的字符串反转函数的实现。
```cvoid reverseString(char* str) {int i = 0;int j = strlen(str) - 1;while (i < j) {char temp = str[i];str[i] = str[j];str[j] = temp;i++;j--;}}```2. 题目二:计算阶乘要求:编写一个函数,计算一个整数的阶乘。
答案:以下是一个计算整数阶乘的函数实现。
```clong long factorial(int n) {if (n == 0) return 1;long long result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;}```3. 题目三:寻找最大值要求:给定一个整数数组,找出数组中的最大值。
答案:以下是一个寻找数组最大值的函数实现。
```cint findMax(int arr[], int size) {int max = arr[0];for (int i = 1; i < size; i++) {if (arr[i] > max) {max = arr[i];}}return max;}```4. 题目四:求两个数的最大公约数要求:编写一个函数,计算两个整数的最大公约数。
答案:以下是一个使用欧几里得算法求最大公约数的函数实现。
```cint gcd(int a, int b) {if (b == 0) return a;return gcd(b, a % b);}```5. 题目五:判断素数要求:编写一个函数,判断一个整数是否为素数。
答案:以下是一个判断整数是否为素数的函数实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三届“蓝桥杯”全国软件专业人才设计与创业大赛是工业和信息化部人才交流中心、教育部高等学校计算机科学与技术教学指导委员会联合举办的全国性软件专业人才设计与创业大赛。
初赛:大赛分为JAVA软件开发、C/C++语言程序设计两个项目。
2011 c/c++组初赛试题
考试时间2小时
1、两个乒乓球队进行比赛,各出三人。
甲队为a,b,c三人,乙队为x,y,z三人。
已抽签决定比赛名单。
有人向队员打听比赛的名单。
a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单
2、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数
5,6,4,3,9
9,3,4,6,5
#include <stdio.h>
void main ()
{
int i=0,j=0,n,b=0,count=0;
int a[5]={0};
printf("请从键盘上输入一个五位的正整数: ");
scanf("%d",&n);
do
{
a[i]=n%10;
n=n/10;
i++;
count++;
}while(n!=0);
printf("\n这个数是%d位数\n",count);
printf("这个数逆序输出: ");
for(j=0;j<i;j++)
printf("%3d",a[j]);
printf("这个数顺序输出: ");
for(j=count-1;j>=0;j--)
printf("%3d",a[j]);
}
3、任何一个自然数m的立方均可写成m个连续奇数之和。
例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
编程实现:输入一自然数n,求组成n^3的n个连续奇数。
4、由键盘输入一个自然数N(1≤N≤9),要求程序在屏幕上输出如下图形。
N=1时:N=3时:N=4时:
1111111111111
122211222221
123211233321
122211234321
111111233321
1222221
1111111
注:应保证N在图形中只出现一次,且在中心。
5、验证18位证件号:
输入18位证件号,将奇位数的值相加的和求的平均数X,偶位数先与3相乘得到的个位数的和的平均数y。
如果(X+Y)是10的倍数,则证件号正确,否则则错误。
请编写程序验证证件号是否正确。
(12分)
列入输入:431023198919230939
输出:正确
分析:
奇位数:3 0 3 9 9 9 3 9 9
偶位数:3 0 2 1 8 1 2 1 4
X:(3+0+3+9+9+9+3+9+9)/9 = 6
Y: 3*3 = 9 0*3 = 0 2*3 = 6 1*3 = 3 8*3 = 24 1*3 = 3 2*3 = 6 1*3 = 3 4*3 = 12 (9+0+6+3+4+3+6+3+2)/9 = 4
X+Y = 6+4 = 10。