蓝桥杯cc省赛试题及答案解析

合集下载

蓝桥杯第七届cc初赛试题及答案

蓝桥杯第七届cc初赛试题及答案

蓝桥杯第七届cc初赛试题及答案蓝桥杯第七届CC初赛试题及答案1. 选择题1.1 以下哪个选项是C语言中定义数组的正确方式?A) int array[10];B) int array[];C) int [10] array;D) int array=10;答案:A1.2 以下哪个关键字用于定义一个结构体?A) structB) unionC) enumD) typedef答案:A1.3 在C语言中,哪个运算符用于取地址?A) *B) &C) %D) #答案:B2. 填空题2.1 在C语言中,关键字________用于定义一个函数。

答案:void2.2 如果一个变量的值是10,那么表达式sizeof(&variable)的结果是________。

答案:4(或根据系统不同,可能是8)2.3 在C语言中,________运算符用于定义一个指针。

答案:*3. 编程题3.1 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```3.2 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```4. 简答题4.1 请解释C语言中指针和引用的区别。

第十一届蓝桥杯大赛软件类省赛第三场 CC++

第十一届蓝桥杯大赛软件类省赛第三场 CC++

第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组【考生须知】考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。

考试时间为4小时。

考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。

时间截止后,将无法继续提交或浏览答案。

对同一题目,选手可多次提交答案,以最后一次提交的答案为准。

选手必须通过浏览器方式提交自己的答案。

选手在其它位置的作答或其它方式提交的答案无效。

试题包含“结果填空”和“程序设计”两种题型。

结果填空题:要求选手根据题目描述直接填写结果。

求解方式不限。

不要求源代码。

把结果填空的答案直接通过网页提交即可,不要书写多余的内容。

程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。

考生的程序只有能运行出正确结果才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

对于编程题目,要求选手给出的解答完全符合GNU C/C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库。

注意:main函数结束必须返回0注意:所有依赖的函数必须明确地在源文件中#include<xxx>,不能通过工程设置而省略常用头文件。

所有源码必须在同一文件中。

调试通过后,拷贝提交。

提交时,注意选择所期望的编译器类型。

第十一届蓝桥杯大赛软件类省赛第三场1第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题A:数青蛙本题总分:5分【问题描述】“一只青蛙一张嘴,两只眼睛四条腿。

两只青蛙两张嘴,四只眼睛八条腿。

三只青蛙三张嘴,六只眼睛十二条腿。

……二十只青蛙二十张嘴,四十只眼睛八十条腿。

”请问上面这段文字,如果完全不省略,全部写出来,从1到20只青蛙,总共有多少个汉字。

约定:数字2单独出现读成“两”,在其他数里面读成“二”,例如“十二”。

第三届蓝桥杯预赛真题及详细答案

第三届蓝桥杯预赛真题及详细答案

第三届蓝桥桥杯预赛真题及详细答案一、微生物增殖假设有两种微生物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人),在船上比拼酒量。

过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。

第三届全国软件大赛决赛C本科真题与答案详析

第三届全国软件大赛决赛C本科真题与答案详析

第三届“蓝桥杯”全国软件专业人才设计与创业大赛全国总决赛C/C++程序设计本科组比赛选手须知:●比赛时间为4小时(9:00-13:00)。

●参赛选手切勿在提交的代码中书写“XX”、“考号”,“院校名”等身份信息或其它与竞赛题目无关的内容,否则成绩无效。

●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”,总计100分。

结果填空:5分代码填空:16分程序设计:19+27+33= 79分结果填空题:要求参赛选手根据题目描述直接填写结果。

求解方式不限。

不要求源代码。

把结果填空的答案存入【XX+XX文件夹】下对应题号的“解答.txt”中即可。

代码填空题:要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。

所填写的代码不超过一条语句(即中间不能出现分号)。

把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)存入【XX+XX文件夹】下对应题号的“解答.txt”中即可。

程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。

选手的程序只有能运行出正确结果的时候才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

对每个编程题目,要求选手把所有函数写在一个文件中。

调试好后,存入与【XX+XX 文件夹】下对应题号的“解答.txt”中即可。

相关的工程文件不要拷入。

对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI c++标准的类库。

例如,不能使用CString类型(属于MFC类库)。

1.结果填空(满分5分)题目在【XX+XX文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

把答案存入【XX+XX文件夹】下对应题号的“解答.txt”中即可。

第三届蓝桥杯预赛真题及详细答案

第三届蓝桥杯预赛真题及详细答案
{
int sum = 0;
for(int i=0; i<6; i++)if(x[i][c]) sum++;
return sum;
}
void show(int x[][6])
{
for(int i=0; i<6; i++)
{
for(int j=0; j<6; j++) printf("%2d", x[i][j]);
如图【1.jpg】表示了分块乘法的原理。可以把大数分成多段(此处为2段)小数,然后用小数的多次运算组合表示一个大数。可以根据int的承载能力规定小块的大小,比如要把int分成2段,则小块可取10000为上限值。注意,小块在进行纵向累加后,需要进行进位校正。
以下代码示意了分块乘法的原理(乘数、被乘数都分为2段)。
printf("\n");
}
printf("\n");
}
void f(int x[][6], int r, int c);
void GoNext(int x[][6], int r, int c)
{
if(c<6)
_______________________; //填空
else
f(x, r+1, 0);
f(a,n+1);
i-- ;
}
}
void main(){
int a[3]={0};
for(int i=4;i<=20;i++){
a[0] = i ;
f(a,1);
}
}
四、奇怪的比赛
某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:

2017年第八届蓝桥杯CC++B组省赛题目解析

2017年第八届蓝桥杯CC++B组省赛题目解析

2017年第⼋届蓝桥杯CC++B组省赛题⽬解析⼀、购物单⼩明刚刚找到⼯作,⽼板⼈很好,只是⽼板夫⼈很爱购物。

⽼板忙的时候经常让⼩明帮忙到商场代为购物。

⼩明很厌烦,但⼜不好推辞。

这不,XX⼤促销⼜来了!⽼板夫⼈开出了长长的购物单,都是有打折优惠的。

⼩明也有个怪癖,不到万不得已,从不刷卡,直接现⾦搞定。

现在⼩明很⼼烦,请你帮他计算⼀下,需要从取款机上取多少现⾦,才能搞定这次购物。

取款机只能提供100元⾯额的纸币。

⼩明想尽可能少取些现⾦,够⽤就⾏了。

你的任务是计算出,⼩明最少需要取多少现⾦。

以下是让⼈头疼的购物单,为了保护隐私,物品名称被隐藏了。

-----------------**** 180.90 88折**** 10.25 65折**** 56.14 9折**** 104.65 9折**** 100.30 88折**** 297.15 半价**** 26.75 65折**** 130.62 半价**** 240.28 58折**** 270.62 8折**** 115.87 88折**** 247.34 95折**** 73.21 9折**** 101.00 半价**** 79.54 半价**** 278.44 7折**** 199.26 半价**** 12.97 9折**** 166.30 78折**** 125.50 58折**** 84.98 9折**** 113.35 68折**** 166.57 半价**** 42.56 9折**** 81.90 95折**** 131.78 8折**** 255.89 78折**** 109.17 9折**** 146.69 68折**** 139.33 65折**** 141.16 78折**** 154.74 8折**** 59.42 8折**** 85.44 68折**** 293.70 88折**** 261.79 65折**** 11.30 88折**** 268.27 58折**** 128.29 88折**** 251.03 8折**** 208.39 75折**** 128.88 75折**** 62.06 9折**** 225.87 75折**** 12.89 75折**** 34.28 75折**** 62.16 58折**** 129.12 半价**** 218.37 半价**** 289.69 8折--------------------需要说明的是,88折指的是按标价的88%计算,⽽8折是按80%计算,余者类推。

第八届蓝桥杯c组试题及答案

第八届蓝桥杯c组试题及答案

第八届蓝桥杯c组试题及答案第八届蓝桥杯C组试题及答案1. 单项选择题1.1 以下哪个选项是C语言中声明一个整型数组的正确方式?A. int array[10];B. int [10] array;C. int array[];D. int array=10;1.2 正确答案是 A。

2. 程序填空题2.1 请在以下程序中填入缺失的代码,以实现计算并输出1到100之间所有奇数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 1) {sum += i;}}printf("Sum of odd numbers: %d\n", sum);return 0;}```2.2 缺失的代码是 `if (i % 2 == 1) {`。

3. 程序改错题3.1 以下程序旨在计算并输出1到100之间所有偶数的和,但存在错误,请找出并修正错误。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers: %d\n", sum);return 0;}```3.2 错误在于程序的目的是计算奇数的和,但代码计算的是偶数的和。

要修正这个问题,需要将 `if (i % 2 == 0)` 更改为 `if (i % 2 != 0)`。

4. 编程题4.1 编写一个程序,实现以下功能:从用户输入一个整数n,然后输出n的阶乘。

```c#include <stdio.h>long long factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int n;printf("Enter a number: ");scanf("%d", &n);printf("Factorial of %d is %lld\n", n,factorial(n));return 0;}```4.2 以上程序正确实现了题目要求的功能。

2019第十届蓝桥杯省赛CC++大学B组试题+题解

2019第十届蓝桥杯省赛CC++大学B组试题+题解

2019第⼗届蓝桥杯省赛CC++⼤学B组试题+题解第⼗届蓝桥杯省赛C/C++⼤学B组试题+题解第⼗届蓝桥杯⼤赛软件类省赛C/C++ ⼤学 B 组考⽣须知考试开始后,选⼿⾸先下载题⽬,并使⽤考场现场公布的解压密码解压试 题。

考试时间为 4 ⼩时。

考试期间选⼿可浏览⾃⼰已经提交的答案,被浏览的 答案允许拷贝。

时间截⽌后,将⽆法继续提交或浏览答案。

对同⼀题⽬,选⼿可多次提交答案,以最后⼀次提交的答案为准。

选⼿必须通过浏览器⽅式提交⾃⼰的答案。

选⼿在其它位置的作答或其它 ⽅式提交的答案⽆效。

试题包含“结果填空”和“程序设计”两种题型。

结果填空题:要求选⼿根据题⽬描述直接填写结果。

求解⽅式不限。

不要 求源代码。

把结果填空的答案直接通过⽹页提交即可,不要书写多余的内容。

程序设计题:要求选⼿设计的程序对于给定的输⼊能给出正确的输出结果。

考⽣的程序只有能运⾏出正确结果才有机会得分。

注意:在评卷时使⽤的输⼊数据与试卷中给出的⽰例数据可能是不同的。

选⼿的程序必须是通⽤的,不能只对试卷中给定的数据有效。

对于编程题⽬,要求选⼿给出的解答完全符合 GNU C/C++ 标准,不能使 ⽤诸如绘图、Win32API、中断调⽤、硬件操作或与操作系统相关的 API。

代码中允许使⽤ STL 类库。

注意: main 函数结束必须返回 0注意: 所有依赖的函数必须明确地在源⽂件中 #include ,不能通过 ⼯程设置⽽省略常⽤头⽂件。

所有源码必须在同⼀⽂件中。

调试通过后,拷贝提交。

提交时,注意选择所期望的编译器类型。

试题 A: 组队本题总分:5 分作为篮球队教练,你需要从以下名单中选出 1 号位⾄ 5 号位各⼀名球员, 组成球队的⾸发阵容。

每位球员担任 1 号位⾄ 5 号位时的评分如下表所⽰。

请你计算⾸发阵容 1 号位⾄ 5 号位的评分之和最⼤可能是多少?【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。

本题的结果为⼀ 个整数,在提交答案时只填写这个整数,填写多余的内容将⽆法得分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
if(index == 9)
{
Solve();
return ;
}
for(int i = 1 ; i<10 ; i ++)
if(!visit[i])
{
visit[i] = true; num[index] = i; dfs(index+1);
visit[i] = false;
}
}
}
int mห้องสมุดไป่ตู้in()
#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 ++)
2016
第一题
煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
注意:你提交的应该是一个整数, 不要填写任何多余的内容或说明性文字
答案:171700
{
dfs(0);
printf("%d\n",ans);
return 0;
第四题
快速排序
排序在各种场合经常被用到。
快速排序是十分常用的高效率的算法。
其思想是:先选一个“标尺”,
用它把整个队列过一遍筛子,
以保证:其左边的元素都不大于它,其右边的元素都不小于它
这样,排序问题就被分割为两个子区间。
再分别对子区间排序就可以了。
return 0;
第二题
生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相
同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数, 不要填写任何多余的内容或说明性文字。 答案:26
F面的代码是一种实现,请分析并填写划线部分缺少的代码。
#include<>void swap(int a[], int i, int j)
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
int partition(int a[], int p, int r)
{
int i = p;
{
double sum = num[0] + (double)num[1] / num[2]
(double)(num[3]*100+num[4]*10+num[5])/(num[6]*100+num[7]*10+num
[8]);
if(sum == 10)
{
ans ++;
}
}
void dfs(int index)
#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);
比如:
6+8/3+952/714就是一种解法,
5+3/1+972/486是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
答案:29
#include<>
int ans = 0;
int num[10];
bool visit[10];
void Solve()
sum += i;
if( sum == 236)
{
printf("start : %d end : %d\n",start,end);
}
}
return 0;
}
第三题
凑算式
B DEF
A + --- += 10
C GHI
(如果显示有问题,可以参见【图】)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字
int j = r + 1;
int x = a[p];
while(1){
while(i<r&&a[++i]<x);
相关文档
最新文档