2014蓝桥杯C语言本科B组预赛试题

合集下载

蓝桥杯历届c语言试题及答案

蓝桥杯历届c语言试题及答案

蓝桥杯历届c语言试题及答案蓝桥杯历届C语言试题及答案1. 问题描述编写一个程序,实现对给定整数数组进行排序的功能。

2. 输入格式第一行包含一个整数N,表示数组中元素的数量。

第二行包含N个整数,表示数组中的元素。

3. 输出格式输出排序后的数组。

4. 样例输入```53 14 1 5```5. 样例输出```1 1 3 4 5```6. 答案```c#include <stdio.h>#include <stdlib.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}int partition(int arr[], int low, int high) { int pivot = arr[high];int i = (low - 1);for (int j = low; j <= high - 1; j++) {if (arr[j] < pivot) {i++;swap(&arr[i], &arr[j]);}}swap(&arr[i + 1], &arr[high]);return (i + 1);}void quickSort(int arr[], int low, int high) { if (low < high) {int pi = partition(arr, low, high);quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}}int main() {int N;scanf("%d", &N);int arr[N];for (int i = 0; i < N; i++) { scanf("%d", &arr[i]);}quickSort(arr, 0, N - 1);for (int i = 0; i < N; i++) { printf("%d ", arr[i]);}return 0;}```。

蓝桥杯C语言本科B组预赛试题

蓝桥杯C语言本科B组预赛试题

蓝桥杯C语言本科B组预赛试题————————————————————————————————作者:————————————————————————————————日期:2014蓝桥杯C/C++语言本科B组预赛试题(完整)1.啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。

小明买了若干啤酒和饮料,一共花了82.3元。

我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

注意:答案是一个整数。

请通过浏览器提交答案。

不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。

2.切面条一根高筋拉面,中间切一刀,可以得到2根面条。

如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。

不要填写任何多余的内容。

3.李白打酒话说大诗人李白,一生好饮。

幸好他从不开车。

一天,他提着酒壶,从家里出来,酒壶中有酒2斗。

他边走边唱:无事街上走,提壶去打酒。

逢店加一倍,遇花喝一斗。

这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。

请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。

则:babaabbabbabbbb就是合理的次序。

像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。

注意:通过浏览器提交答案。

答案是个整数。

不要书写任何多余的内容。

4.史丰收速算史丰收速算法的革命性贡献是:从高位算起,预测进位。

不需要九九表,彻底颠覆了传统手算!速算的核心基础是:1位数乘以多位数的乘法。

其中,乘以7是最复杂的,就以它为例。

因为,1/7是个循环小数:0.142857...,如果多位数超过142857...,就要进1同理,2/7,3/7, ...6/7 也都是类似的循环小数,多位数超过n/7,就要进n下面的程序模拟了史丰收速算法中乘以7的运算过程。

蓝桥杯试题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四名盗窃嫌疑犯,其中只有一人是小偷。

蓝桥杯2014-决赛-C-B组

蓝桥杯2014-决赛-C-B组

2014年决赛C/C++本科B组考生须知:●考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。

●考试时间为4小时。

时间截止后,提交答案无效。

●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。

●选手可浏览自己已经提交的答案。

被浏览的答案允许拷贝。

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

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

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

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

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

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

求解方式不限。

不要求源代码。

答案直接通过网页提交即可。

不要书写多余的内容。

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

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

把答案(仅填空处的答案,不包括题面已存在的代码或符号)直接通过网页提交。

不要书写多余的内容(比如注释)。

使用ANSI C/ANSI C++ 标准,不要依赖操作系统或编译器提供的特殊函数。

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

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

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

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

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

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

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

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

2014第五届蓝桥杯JAVA本科B组试题及答案解析

2014第五届蓝桥杯JAVA本科B组试题及答案解析
3
2 2 4
程序应该输出
4
资源约定
峰值内存消耗 含虚拟机< 256M
CPU消耗< 1000ms
请严格按要求输出 不要画蛇添足地打印类似 “请您输入...”的多余内容。
所有代码放在同一个源文件中 调试通过后 拷贝提交该源码。注意 不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意 主类的名字必须是Main否则按无效代码处理。答案:
else
System.out.print(num[i]);
}
System.out.println();
}
public static boolean judge(char[] num) {
boolean[] bool = new boolean[5];
int size_A = 0, size_2 = 0, size_3 = 0, size_4 = 0;
2342A3A4
请通过浏览器提交答案。“A”一定不要用小写字母a也不要用“1”代替。字符间一定不
要留空格。
答案2342A3A4
public class扑克序列{//这题有病 总共就两种情况 题目还给出了
public static int count = 0;
public static void main(String[] args) {
if(arr[index] == true) { //当在圈里时
if(countNum%2 == 0) { //下标为偶数时
arr[index] = false; //该字母退出圈子
leftCount --; //剩余字母数目减一
} countNum++;
}

2014蓝桥杯c试题校赛及答案

2014蓝桥杯c试题校赛及答案

2014蓝桥杯c试题校赛及答案2014蓝桥杯C试题校赛及答案1. 题目一:字符串反转给定一个字符串,请编写一个函数,实现字符串的反转。

答案:```cvoid reverseString(char *str) {int len = 0;while (str[len] != '\0') {len++;}for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}```2. 题目二:寻找最大值给定一个整数数组,请找出数组中的最大值。

答案:```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;}```3. 题目三:计算阶乘编写一个函数,计算并返回一个非负整数的阶乘。

答案:```cunsigned long long factorial(int n) {if (n == 0) {return 1;}unsigned long long result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;}```4. 题目四:判断回文数给定一个整数,判断该数是否是回文数。

答案:```cint isPalindrome(int x) {int reversed = 0, original = x;while (x > 0) {int digit = x % 10;reversed = reversed * 10 + digit;x /= 10;}return original == reversed;}```5. 题目五:合并两个有序数组给定两个有序整数数组 nums1 和 nums2,其中 nums1 的长度为 m,nums2 的长度为 n。

历年蓝桥杯省赛B组真题试题

历年蓝桥杯省赛B组真题试题
int i,j; for(i = 0 ; i < 3 ; i ++)
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; }

蓝桥杯C语言本科B组预赛试题审批稿

蓝桥杯C语言本科B组预赛试题审批稿

蓝桥杯C语言本科B组预赛试题YKK standardization office【 YKK5AB- YKK08- YKK2C- YKK18】2014蓝桥杯C/C++语言本科B组预赛试题(完整)1.啤酒和饮料啤酒每罐元,饮料每罐元。

小明买了若干啤酒和饮料,一共花了元。

我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

注意:答案是一个整数。

请通过浏览器提交答案。

不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。

2.切面条一根高筋拉面,中间切一刀,可以得到2根面条。

如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。

不要填写任何多余的内容。

3.李白打酒话说大诗人李白,一生好饮。

幸好他从不开车。

一天,他提着酒壶,从家里出来,酒壶中有酒2斗。

他边走边唱:无事街上走,提壶去打酒。

逢店加一倍,遇花喝一斗。

这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。

请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。

则:babaabbabbabbbb就是合理的次序。

像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。

注意:通过浏览器提交答案。

答案是个整数。

不要书写任何多余的内容。

4.史丰收速算史丰收速算法的革命性贡献是:从高位算起,预测进位。

不需要九九表,彻底颠覆了传统手算!速算的核心基础是:1位数乘以多位数的乘法。

其中,乘以7是最复杂的,就以它为例。

因为,1/7是个循环小数:...,如果多位数超过 142857...,就要进1同理,2/7,3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n下面的程序模拟了史丰收速算法中乘以7的运算过程。

乘以7 的个位规律是:偶数乘以2,奇数乘以2再加5,都只取个位。

蓝桥杯b组c语言历年题目

蓝桥杯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语言的基础知识、算法和数据结构等方面,旨在考察参赛选手的编程能力和解决问题的能力。

蓝桥杯c语言试题及答案预赛

蓝桥杯c语言试题及答案预赛

蓝桥杯c语言试题及答案预赛蓝桥杯C语言试题及答案预赛1. 题目一:计算阶乘要求:编写一个程序,计算并输出任意正整数的阶乘。

答案:```c#include <stdio.h>long long factorial(int n) {if (n == 0) return 1;long long result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;}int main() {int number;printf("请输入一个正整数:");scanf("%d", &number);printf("%d的阶乘是:%lld\n", number, factorial(number));return 0;}```2. 题目二:寻找最大值要求:给定一个整数数组,找出数组中的最大值。

答案:```c#include <stdio.h>int 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;}int main() {int arr[] = {3, 5, 2, 7, 1};int size = sizeof(arr) / sizeof(arr[0]);printf("数组中的最大值是:%d\n", findMax(arr, size)); return 0;}```3. 题目三:字符串反转要求:编写一个程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```4. 题目四:斐波那契数列要求:编写一个程序,输出斐波那契数列的前N项。

第三届蓝桥杯——蓝桥杯c语言本科组(带答案)

第三届蓝桥杯——蓝桥杯c语言本科组(带答案)
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把ABCDE所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!
3.
有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复......直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。
#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数量即可。
14 10 6 2
15 11 7 3
16 12 8 4
下面的代码实现的功能就是要把一个方阵顺时针旋转。
void rotate(int* x, int rank)
{
int* y = (int*)malloc(___________________); //填空
for(int i=0; i<rank * rank; i++)
{
GoNext(x,r,c);
return;
}
int rr = GetRowStoneNum(x,r);
int cc = GetColStoneNum(x,c);
if(cc>=3) //本列已满

2014蓝桥杯C语言本科B组预赛试题

2014蓝桥杯C语言本科B组预赛试题

2014蓝桥杯C语言本科B组预赛试题2014蓝桥杯C/C++语言本科B组预赛试题(完整)1.啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。

小明买了若干啤酒和饮料,一共花了82.3元。

我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

注意:答案是一个整数。

请通过浏览器提交答案。

不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。

2.切面条一根高筋拉面,中间切一刀,可以得到2根面条。

如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。

不要填写任何多余的内容。

3.李白打酒下面的程序模拟了史丰收速算法中乘以7的运算过程。

乘以7 的个位规律是:偶数乘以2,奇数乘以2再加5,都只取个位。

乘以7 的进位规律是:满 142857 (1)满 285714 (2)满 428571 (3)满 571428 (4)满 714285 (5)满 857142... 进6请分析程序流程,填写划线部分缺少的代码。

//计算个位int ge_wei(int a){if(a % 2 == 0)return (a * 2) % 10;elsereturn (a * 2 + 5) % 10;}//计算进位int jin_wei(char* p){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;}//多位数乘以7void 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;}注意:通过浏览器提交答案。

2014蓝桥杯c语言试题及答案

2014蓝桥杯c语言试题及答案

2014蓝桥杯c语言试题及答案一、选择题(每题2分,共10分)1. 下列关于C语言的描述中,错误的是:A. C语言是高级语言B. C语言是面向对象的程序设计语言C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. 以下哪个选项不是C语言中合法的变量名?A. _123B. intC. a$bD. for答案:B3. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A4. 下列关于C语言函数的描述中,正确的是:A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型必须与定义时一致D. 函数可以有多个返回值答案:B5. 在C语言中,以下哪个选项不是合法的字符串常量?A. "hello"B. "hello\n"C. "helloD. "hello\"答案:C二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型数组的语句是:int a[10]; 则数组a 的第一个元素的值是______。

答案:02. C语言中,用于声明一个指针变量的语句是:int *p; 则指针p的初始值是______。

答案:NULL3. 在C语言中,使用______运算符可以将一个浮点数转换为整数。

答案:强制类型转换4. C语言中,用于定义一个函数的关键字是______。

答案:void5. 在C语言中,用于定义一个枚举类型的关键字是______。

答案:enum三、编程题(每题10分,共20分)1. 编写一个C语言程序,实现输入一个整数,输出该整数的平方值。

答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d的平方是:%d\n", num, num * num);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,输出该字符串的逆序。

第七届蓝桥杯个人赛省赛--C语言B组

第七届蓝桥杯个人赛省赛--C语言B组

第七届蓝桥杯个⼈赛省赛--C语⾔B组题⽬⼀煤球数⽬有⼀堆煤球,堆成三⾓棱锥形。

具体:第⼀层放1个,第⼆层3个(排列成三⾓形),第三层6个(排列成三⾓形),第四层10个(排列成三⾓形),....如果⼀共有100层,共有多少个煤球?请填表⽰煤球总数⽬的数字。

注意:你提交的应该是⼀个整数,不要填写任何多余的内容或说明性⽂字。

答案:171700解析:⽅法⼀:数学⽅法⽅法⼆:暴⼒循环易知每⼀层的数⽬都是上⼀层煤球数加上这⼀层的层数,代码如下:1 #include<cstdio>2 #include<iostream>3using namespace std;45int main()6 {7int i=0,sum=0,num=0;8//sum是煤球总数,num是当前层煤球数9for(i=1;i<=100;i++)10 {11 num+=i;12 sum+=num;13 }14 printf("%d\n",sum);15return0;16 }题⽬⼆⽣⽇蜡烛某君从某年开始每年都举办⼀次⽣⽇party,并且每次都要吹熄与年龄相同根数的蜡烛。

现在算起来,他⼀共吹熄了236根蜡烛。

请问,他从多少岁开始过⽣⽇party的?请填写他开始过⽣⽇party的年龄数。

注意:你提交的应该是⼀个整数,不要填写任何多余的内容或说明性⽂字。

答案:26解析:暴⼒枚举,代码如下:1 #include<cstdio>2 #include<iostream>3using namespace std;45int main()6 {7int i,j,num;8//设某君从i岁开始过⽣⽇,现在j岁9//num是吹灭掉蜡烛数10for(i=0;i<200;i++)11 {12for(j=0;j<200;j++)13 {14 num=(i+j)*(j-i+1)/2;15if(num==236)16 {17 printf("%d\n",i);18break;19 }20 }21 }22return0;23 }题⽬三凑算式这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

蓝桥杯c 试题及答案

蓝桥杯c 试题及答案

蓝桥杯c 试题及答案蓝桥杯是中国著名的计算机竞赛,由中国计算机学会主办,每年举办一次。

其中,C语言组是比赛的一个重要环节,考察选手对于C语言程序设计的理解和应用能力。

以下是蓝桥杯C语言组试题及答案的整理,供参赛选手参考和学习。

第一题:找素数题目描述:请编写一个程序,计算给定范围内的素数个数,并输出结果。

输入:输入两个正整数n和m(1 <= n, m <= 1000,n <= m),表示要计算的范围。

输出:输出一个整数,表示该范围内的素数个数。

样例输入:2 10样例输出:4解题思路:素数是指只能被1和自身整除的整数,根据这个定义,我们可以使用一个循环来判断每个数是否为素数。

具体实现时,首先需要判断一个数n是否为素数,可以从2开始将n除以每个数,若能整除则说明n 不是素数;反之,则n是素数。

将这个判断的逻辑封装成一个函数,然后在给定的范围内遍历每个数,统计出素数的个数即可。

代码实现:```c#include <stdio.h>int isPrime(int n) {if (n <= 1) {return 0;}for (int i = 2; i * i <= n; i++) {if (n % i == 0) {return 0;}}return 1;}int countPrimes(int n, int m) {int count = 0;for (int i = n; i <= m; i++) {if (isPrime(i)) {count++;}}return count;}int main() {int n, m;scanf("%d %d", &n, &m);int result = countPrimes(n, m);printf("%d\n", result);return 0;}```参考答案如上所示,该程序通过调用判断素数的函数,并在给定范围内进行循环判断,最终输出结果。

蓝桥杯预赛题目与答案

蓝桥杯预赛题目与答案

蓝桥杯预赛题目1第一题标题:啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。

小明买了若干啤酒和饮料,一共花了82.3元。

我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

注意:答案是一个整数。

请通过浏览器提交答案。

不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。

#include <stdio.h>void main() { int pj,yl; //啤酒与饮料double sum=82.3; for(pj=0; pj<=20; pj++) { yl=(int)((sum-pj*2.3)/1.9); if(pj*2.3+yl*1.9==sum) { printf("pj=%d,yl=%d\n",pj,yl); //pj=11 yl=30 } } }第二题标题:切面条一根高筋拉面,中间切一刀,可以得到2根面条。

如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。

不要填写任何多余的内容。

#include <stdio.h> void main(){ int qie(int n); int g(int n); int sum=0; //面条总数int n=10; sum=qie(n); printf("%d\n",sum); }int qie(int n) //折叠n次以后,切一刀后的面条数{ int g(int n); if(n==1) { return 3; } else { return g(n-1)+ qie(n-1); //g(n)是有所有面条都有折痕一边的面条数} }int g(int n) { if(n==1) { return 2; } else { return g(n-1)*2; } }-----1025第三题标题:李白打酒话说大诗人李白,一生好饮。

历年蓝桥杯省赛B组真题试题

历年蓝桥杯省赛B组真题试题

(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);B DEFA + —+ ——= 10 C GHI(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I 代表1~9的数字,不同的字母代表不同的数字。

比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?//29题解:DFS+回溯由于计算机中5/2 会等于2,而且如果打算采用精度方面的处理的话,会很麻烦,而且很容易错。

第14届蓝桥杯试题

第14届蓝桥杯试题

第14届蓝桥杯试题第14届蓝桥杯是一项全国性的计算机竞赛,题目难度适中,涵盖了计算机的多个领域,包括编程算法、数据结构、计算机网络和数据库等。

下面是第14届蓝桥杯的部分试题和解答参考内容:1. 编程题目:给定一个数组,找出数组中是否存在两个数的和为给定的目标值。

如果存在,返回这两个数的索引,如果不存在,返回[-1, -1]。

解答参考内容:```pythondef findTwoSum(nums, target):hashtable = {}for i, num in enumerate(nums):if target - num in hashtable:return [hashtable[target - num], i]hashtable[num] = ireturn [-1, -1]```2. 数据结构题目:实现一个双向链表的插入和删除操作。

解答参考内容:```pythonclass Node:def __init__(self, value):self.value = valueself.prev = Noneself.next = Noneclass DoubleLinkedList:def __init__(self):self.head = Noneself.tail = Nonedef insert(self, value):node = Node(value)if self.head is None:self.head = nodeself.tail = nodeelse:node.prev = self.tailself.tail.next = nodeself.tail = nodedef delete(self, value):current = self.headwhile current:if current.value == value:if current.prev:current.prev.next = current.next else:self.head = current.nextif current.next:current.next.prev = current.prev else:self.tail = current.prevbreakcurrent = current.next```3. 计算机网络题目:实现一个简单的TCP协议的三次握手和四次挥手过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014蓝桥杯C/C++语言本科B组预赛试题(完整)1.啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。

小明买了若干啤酒和饮料,一共花了82.3元。

我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

注意:答案是一个整数。

请通过浏览器提交答案。

不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。

2.切面条一根高筋拉面,中间切一刀,可以得到2根面条。

如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。

不要填写任何多余的内容。

3.李白打酒话说大诗人李白,一生好饮。

幸好他从不开车。

一天,他提着酒壶,从家里出来,酒壶中有酒2斗。

他边走边唱:无事街上走,提壶去打酒。

逢店加一倍,遇花喝一斗。

这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。

请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。

则:babaabbabbabbbb就是合理的次序。

像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。

注意:通过浏览器提交答案。

答案是个整数。

不要书写任何多余的内容。

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请分析程序流程,填写划线部分缺少的代码。

//计算个位int ge_wei(int a){if(a % 2 == 0)return (a * 2) % 10;elsereturn (a * 2 + 5) % 10;}//计算进位int jin_wei(char* p){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;}//多位数乘以7void 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;}注意:通过浏览器提交答案。

只填写缺少的内容,不要填写任何多余的内容(例如:说明性文字)5. 打印图形小明开动脑筋,编写了如下的程序,实现该图形的打印。

#define N 70void f(char a[][N], int rank, int row, int col) {if(rank==1){a[row][col] = '*';return;}int w = 1;int i;for(i=0; i<rank-1; i++) w *= 2;____________________________________________;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;i<N;i++)for(j=0;j<N;j++) a[i][j] = ' ';f(a,6,0,0);for(i=0; i<N; i++){for(j=0; j<N; j++) printf("%c",a[i][j]);printf("\n");}return 0;}请仔细分析程序逻辑,填写缺失代码部分。

通过浏览器提交答案。

注意不要填写题目中已有的代码。

也不要写任何多余内容(比如说明性的文字)6. 奇怪的分式上小学的时候,小明经常自己发明新算法。

一次,老师出的题目是:1/4乘以 8/5小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45(参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。

显然,交换分子分母后,例如:4/1乘以 5/8 是满足要求的,这算做不同的算式。

但对于分子分母相同的情况,2/2乘以 3/3 这样的类型太多了,不在计数之列!注意:答案是个整数(考虑对称性,肯定是偶数)。

请通过浏览器提交。

不要书写多余的内容。

7. 六角填数如图【1.png】所示六角形中,填入1~12的数字。

使得每条直线上的数字之和都相同。

图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。

8. 蚂蚁感冒长100厘米的细长直杆子上有n只蚂蚁。

它们的头有的朝左,有的朝右。

每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。

当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。

这些蚂蚁中,有1只蚂蚁感冒了。

并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。

请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。

【数据格式】第一行输入一个整数n(1 < n < 50), 表示蚂蚁的总数。

接着的一行是n个用空格分开的整数Xi (-100 < Xi < 100), Xi 的绝对值,表示蚂蚁离开杆子左边端点的距离。

正值表示头朝右,负值表示头朝左,数据中不会出现0值,也不会出现两只蚂蚁占用同一位置。

其中,第一个数据代表的蚂蚁感冒了。

要求输出1个整数,表示最后感冒蚂蚁的数目。

例如,输入:35 -2 8程序应输出:1再例如,输入:5-10 8 -20 12 25程序应输出:3资源约定:峰值内存消耗 < 256MCPU消耗 < 1000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

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

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

9. 地宫取宝X国王有一个地宫宝库。

是 n x m 个格子的矩阵。

每个格子放一件宝贝。

每个宝贝贴着价值标签。

地宫的入口在左上角,出口在右下角。

小明被带到地宫的入口,国王要求他只能向右或向下行走。

走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。

当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。

请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这k件宝贝。

【数据格式】输入一行3个整数,用空格分开:n m k (1<=n,m<=50, 1<=k<=12) 接下来有n 行数据,每行有 m 个整数 Ci (0<=Ci<=12)代表这个格子上的宝物的价值要求输出一个整数,表示正好取k个宝贝的行动方案数。

该数字可能很大,输出它对1000000007 取模的结果。

例如,输入:2 2 21 22 1程序应该输出:2再例如,输入:2 3 21 2 32 1 5程序应该输出:14资源约定:峰值内存消耗 < 256MCPU消耗 < 1000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

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

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

10. 小朋友排队n个小朋友站成一排。

现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。

每个小朋友都有一个不高兴的程度。

开始的时候,所有小朋友的不高兴程度都是0。

如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。

当要求某个小朋友第k次交换时,他的不高兴程度增加k。

请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。

如果有两个小朋友身高一样,则他们谁站在谁前面是没有关系的。

【数据格式】输入的第一行包含一个整数n,表示小朋友的个数。

第二行包含n 个整数 H1 H2 … Hn,分别表示每个小朋友的身高。

输出一行,包含一个整数,表示小朋友的不高兴程度和的最小值。

例如,输入:33 2 1程序应该输出:9【样例说明】首先交换身高为3和2的小朋友,再交换身高为3和1的小朋友,再交换身高为2和1的小朋友,每个小朋友的不高兴程度都是3,总和为9。

相关文档
最新文档