第七届蓝桥杯C++程序设计大学B组省赛题目

第七届蓝桥杯C/C++程序设计大学B组省赛题目第一题:煤球数目有一堆煤球,堆成三角棱锥形。

具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。

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

第二题:生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。

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

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

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

第三题:凑算式B DEFA + --- + ------- = 10C GHI(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

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

这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

第四题:快速排序排序在各种场合经常被用到。

快速排序是十分常用的高效率的算法。

其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。

这样,排序问题就被分割为两个子区间。

再分别对子区间排序就可以了。

下面的代码是一种实现,请分析并填写划线部分缺少的代码。

#include <stdio.h>void s 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;int j = r + 1;int x = a[p];while(1){while(i<r && a[++i]<x);while(a[--j]>x);if(i>=j) break;s);}______________________;return j;}void quicksort(int a[], int p, int r){if(p<r){int q = partition(a,p,r);quicksort(a,p,q-1);quicksort(a,q+1,r);}}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;}注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。

第五题:抽签X星球要派出一个5人组成的观察团前往W星。

其中:A国最多可以派出4人。

B国最多可以派出2人。

C国最多可以派出2人。

....那么最终派往W星的观察团会有多少种国别的不同组合呢?下面的程序解决了这个问题。

数组a[] 中既是每个国家可以派出的最多的名额。

程序执行结果为:DEFFFCEFFFCDFFFCDEFFCCFFFCCEFFCCDFFCCDEFBEFFFBDFFFBDEFFBCFFFBCEFFBCDFFBCDEF....(以下省略,总共101行)#include <stdio.h>#define N 6#define M 5#define BUF 1024void f(int a[], int k, int m, char b[]){int i,j;if(k==N){b[M] = 0;if(m==0) printf("%s\n",b);return;}for(i=0; i<=a[k]; i++){for(j=0; j<i; j++) b[M-m+j] = k+'A';______________________; //填空位置}}int main(){int a[N] = {4,2,2,1,1,3};char b[BUF];f(a,0,M,b);return 0;}仔细阅读代码,填写划线部分缺少的内容。

注意:不要填写任何已有内容或说明性文字。

第六题:方格填数如下的10个格子+--+--+--+| | | |+--+--+--+--+| | | | |+--+--+--+--+| | | |+--+--+--+(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。

要求:连续的两个数字不能相邻。

(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。

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

第七题:剪邮票如【图1.jpg】, 有12张连在一起的12生肖的邮票。

现在你要从中剪下5张来,要求必须是连着的。

(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。

请你计算,一共有多少种不同的剪取方法。

请填写表示方案数目的整数。

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

第八题:四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。

如果把0包括进去,就正好可以表示为4个数的平方和。

比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。

要求你对4个数排序:0 <= a <= b <= c <= d并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法程序输入为一个正整数N (N<5000000)要求输出4个非负整数,按从小到大排序,中间用空格分开例如,输入:5则程序应该输出:0 0 1 2再例如,输入:12则程序应该输出:0 2 2 2再例如,输入:773535则程序应该输出:1 1 267 838资源约定:峰值内存消耗 < 256MCPU消耗 < 3000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

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

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

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

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

第九题:交换瓶子有N个瓶子,编号 1 ~ N,放在架子上。

比如有5个瓶子:2 13 5 4要求每次拿起2个瓶子,交换它们的位置。

经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换2次就可以复位。

如果瓶子更多呢?你可以通过编程来解决。

输入格式为两行:第一行: 一个正整数N(N<10000), 表示瓶子的数目第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。

输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。

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

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

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

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

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

第十题:最大比例X星球的某个大奖赛设了M级奖励。

每个级别的奖金是一个正整数。

并且,相邻的两个级别间的比例是个固定值。

也就是说:所有级别的奖金数构成了一个等比数列。

比如:16,24,36,54其等比值为:3/2现在,我们随机调查了一些获奖者的奖金数。

请你据此推算可能的最大的等比值。

输入格式:第一行为数字N,表示接下的一行包含N个正整数第二行N个正整数Xi(Xi<1 000 000 000 000),用空格分开。

每个整数表示调查到的某人的奖金数额要求输出:一个形如A/B的分数,要求A、B互质。

表示可能的最大比例系数测试数据保证了输入格式正确,并且最大比例是存在的。

例如,输入:31250 200 32程序应该输出:25/4再例如,输入:43125 32 32 200程序应该输出:5/2再例如,输入:3549755813888 524288 2程序应该输出:4/1资源约定:峰值内存消耗 < 256MCPU消耗 < 3000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

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

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

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

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

合集下载

蓝桥杯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的数字,不同的字母代表不同的数字。

java蓝桥杯b组题目

java蓝桥杯b组题目

java蓝桥杯b组题目摘要:1.蓝桥杯B 组题目概述2.蓝桥杯B 组题目的类型3.如何准备蓝桥杯B 组题目4.总结正文:【蓝桥杯B 组题目概述】蓝桥杯是中国的一项全国性计算机科学比赛,每年举办一次。

该比赛旨在发掘和培养高中和大学生的计算机科学和信息技术方面的才能。

蓝桥杯B 组是针对高中生举办的比赛,参赛选手需要通过地区赛、省赛等多个层次的选拔,最终进入全国总决赛。

蓝桥杯B 组题目是比赛的重要组成部分,题目内容涵盖了计算机科学的各个领域,如算法与数据结构、计算机网络、数据库、操作系统等。

【蓝桥杯B 组题目的类型】蓝桥杯B 组题目分为两种类型:个人赛题目和团队赛题目。

个人赛题目是针对单个选手进行的比赛,要求选手在规定时间内独立完成一个计算机程序,并满足题目要求。

团队赛题目则是由3 名选手组成的团队共同完成一个计算机程序,并满足题目要求。

两种类型的题目都注重考察选手的编程能力和解决实际问题的能力。

【如何准备蓝桥杯B 组题目】准备蓝桥杯B 组题目需要掌握一定的计算机科学基础知识,包括算法与数据结构、计算机网络、数据库、操作系统等方面的知识。

此外,还需要进行大量的编程练习,提高编程能力和解决实际问题的能力。

具体的准备方法包括:1.学习计算机科学基础知识,了解计算机编程的基本思想和方法。

2.练习编写算法和数据结构,掌握常用的算法和数据结构,如排序算法、查找算法、树、图等。

3.熟悉计算机编程语言,如C++、Java 等,熟练掌握编程语言的基本语法和常用函数库。

4.进行模拟练习,模拟蓝桥杯比赛的形式和要求,提高自己的应变能力和抗压能力。

【总结】蓝桥杯B 组题目是高中生参加的一项重要的计算机科学比赛,考察选手的编程能力和解决实际问题的能力。

第七届蓝桥杯Java B组省赛答案

第七届蓝桥杯Java B组省赛答案

package com.diqijie.shengsai;/*** @author leibaobao* 煤球数目* 解:100层为1+2+3....+100 = 5050*/publicclass _1 {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubint sum = 0;for(int i = 1; i <= 100; i++){for(int j = 1; j <= i; j++)sum += j;}System.out.println(sum);}}package com.diqijie.shengsai;/*** @author leibaobao* 生日蜡烛* 解:人最大也不过100岁,不要想太多。

暴力一点 */publicclass _2 {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubint sum = 0;for(int i = 0; i < 100; i++){for(int j = i; j < 100; j++){sum += j;if(sum == 236)System.out.println(i);}sum = 0;}} }package com.diqijie.shengsai;import java.util.HashSet;/*** @author leibaobao* 凑算式* 解:前几题不要多想,暴力一点。

但是Java能不用大数不要去用大数* 麻烦,慢。

这题通分加for循环不就OK了吗*/publicclass _3 {publicstaticvoid main(String[] args) {// TODO Auto-generated method stubint count = 0;for(int a = 1; a < 10; a++)for(int b = 1; b < 10; b++)for(int c = 1; c < 10; c++)for(int d = 1; d < 10; d++)for(int e = 1; e < 10; e++)for(int f = 1; f < 10; f++)for(int g = 1; g < 10; g++)for(int h = 1; h < 10; h++)for(int i = 1; i < 10; i++){if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=i&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=i&&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=i&&d!=e&&d!=f&&d!=g&&d!=h&&d!=i&&e!=f&&e!=g&&e!=h&&e!=i&&f!=g&&f!=h&&f!=i&&g!=h&&g!=i&&i!=h){int temp_1 = b*(g*100 +h*10 +i);int temp_2 = c*(d*100+e*10+f);int temp_3 = c*(g*100 +h*10 +i);if((temp_1+temp_2)%temp_3 == 0)if(a + (temp_1+temp_2)/temp_3 == 10){count++;}}}System.out.println(count);}}package com.diqijie.shengsai;/*** @author leibaobao 分小组解:这个读懂即可*/publicclass _4 {publicstatic String remain(int[] a) {String s = "";for (int i = 0; i < a.length; i++) {if (a[i] == 0)s += (char) (i + 'A');}return s;}publicstaticvoid f(String s, int[] a) {for (int i = 0; i < a.length; i++) {if (a[i] == 1)continue;a[i] = 1;for (int j = i + 1; j < a.length; j++) {if (a[j] == 1)continue;a[j] = 1;for (int k = j + 1; k < a.length; k++) {if (a[k] == 1)continue;a[k] = 1;System.out.println(s+""+(char) (i + 'A')+ (char) (j + 'A') + (char) (k + 'A') +""+ remain(a)); // 填空位置a[k] = 0;}a[j] = 0;}a[i] = 0;}}publicstaticvoid main(String[] args) {int[] a = newint[9];a[0] = 1;for (int b = 1; b < a.length; b++) {a[b] = 1;for (int c = b + 1; c < a.length; c++) {a[c] = 1;String s = "A" + (char) (b + 'A') + (char) (c + 'A');f(s, a);a[c] = 0;}a[b] = 0;}}}/*** @author leibaobao 抽签* 解:填代码题读懂即可,dfs*/publicclass _5 {publicstaticvoid f(int[] a, int k, int n, String s) { if (k == a.length) {if (n == 0)System.out.println(s);return;}String s2 = s;for (int i = 0; i <= a[k]; i++) {f(a,k+1,5-s2.length(),s2);s2 += (char) (k + 'A');}}publicstaticvoid main(String[] args) {int[] a = { 4, 2, 2, 1, 1, 3 };f(a, 0, 5, "");}}/*** @author leibaobao 抽签* 解:填代码题读懂即可,dfs*/publicclass _5 {publicstaticvoid f(int[] a, int k, int n, String s) { if (k == a.length) {if (n == 0)System.out.println(s);return;}String s2 = s;for (int i = 0; i <= a[k]; i++) {f(a,k+1,5-s2.length(),s2);s2 += (char) (k + 'A');}}publicstaticvoid main(String[] args) {int[] a = { 4, 2, 2, 1, 1, 3 };f(a, 0, 5, "");}}package com.diqijie.shengsai;import java.util.Arrays;import java.util.HashSet;import java.util.Iterator;/*** @author leibaobao 剪邮票* 解:深搜,效率不是很高,反正是填空题*/public class _7 {public static int count = 0;public static int [] a = new int[5];public static HashSet<String> hashset = new HashSet<String>();public static void main(String[] args) {// TODO Auto-generated method stubfor(a[0] = 0; a[0] < 12; a[0]++)for(a[1] = a[0]+1; a[1] < 12; a[1]++)for(a[2] = a[1]+1; a[2] < 12; a[2]++)for(a[3] = a[2]+1; a[3] < 12; a[3]++)for(a[4] = a[3]+1; a[4] < 12; a[4]++)if(jus()){hashset.add(""+a[0]+a[1]+a[2]+a[3]+a[4]);}System.out.println(hashset.size());}private static boolean jus() {// TODO Auto-generated method stubboolean flag[] = new boolean[5];dfs(flag,0);return flag[0]&&flag[1]&&flag[2]&&flag[3]&&flag[4];}private static void dfs(boolean[] flag,int n) {// TODO Auto-generated method stubflag[n] = true;for(int i = 0; i < 5; i++){//加一减一要在同一行、加四减四要在同一列if(!flag[i] && (a[i]/4 == a[n]/4) && (a[i] == a[n] - 1 || a[i] == a[n] + 1)){dfs(flag,i);}if (!flag[i] && (a[i]%4 == a[n]%4) && (a[i] == a[n] - 4 || a[i] == a[n] + 4)){dfs(flag,i);}}}}package com.diqijie.shengsai;import java.util.Scanner;/*** @author leibaobao* 四平方和* 解:哎,这题我超级无语。

2020蓝桥杯C++B组省赛第二场个人感受和个人题解

2020蓝桥杯C++B组省赛第二场个人感受和个人题解

2020蓝桥杯C++B组省赛第⼆场个⼈感受和个⼈题解[2020**蓝桥杯C++B组省赛第⼆场个⼈感受和题解]简单的个⼈感受时间回到之前打校内模拟,那时候校排名11+,省排40+;感觉不尽⼈意,毕竟之前正常打⽐赛都能排很靠前,可能是我没认真打,也可能线上打⽔分有点⼤,总之那时候我觉得要不是⾃⼰能⼒⽋缺,要不就环境太⽔了。

后⾯真正到快开始⽐赛的前⼀周我才开始准备蓝桥杯,看了很多博客,和去年真题,感觉听起来拿奖挺容易的,听起来省⼀有⼿就⾏。

就也没顾及太多东西了。

打的那天我是很平和的⼼态,感觉能赢就冲刺⼀下,就冲刺⼀把,能参加国赛就去北京玩玩。

结果⽐赛的机⼦和环境直接爆炸,我写完前⾯5个填空都没检查,想着后⾯回来测试代码,结果电脑死机,代码直接没了,中途等待换机耽误了半个⼩时,最后提交最后⼀个题⽬30%样例还发现⽐赛提前2分钟结束了,直接少了7.5分,⽽且压根不会给你补时间。

总之种种现场情况恶⼼到我了。

⽽且很多⼈也出现类似我的情况。

打完后就没⼼情对答案了,就隔了好久,才⽆意间打开博客随便逛了逛,发现好像我挺⾛运的,完全没检查过的填空题⼀遍过全对了,然后除了最后没交上的7.5其他貌似都还⾏。

最后出成绩也在意料之中,省⼀,貌似也是省内b组排第6(如果7.5分加上可能还能冲⼀冲),但省⼀的确太多了,最神奇的理论就是电脑出问题的⼈省⼀都稳了。

最后的最后,,就是还要交300打国赛,⽽且⼜是在学校线上考试,,害,这⽐赛就没什么仪式感了,真花钱买证。

⽆解~建议与⼩技巧1. 熟练Excel2. 对于⽇期模拟时钟时间模拟⼀定要熟练3. 熟悉使⽤next_permutation全排列和⼆分查找等常见函数4. 能⽤long long 就别⽤int,很多题⽬就卡int 范围5. 了解常见的优化时间⽅法:scanf printf替代cin cout,变量的外部定义等等6. 熟悉Dev编译器的使⽤,学会查询api⽂档,或者⼲脆就记下常⽤的就⾏7. 切记需要return 0,正确使⽤标准库,和C版本,别写过时代码,也别写超前代码,⽼⽼实实⾛。

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

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

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

java蓝桥杯b组题目

java蓝桥杯b组题目

java蓝桥杯b组题目(实用版)目录1.Java 蓝桥杯 B 组题目概述2.Java 蓝桥杯 B 组题目的考试形式和要求3.Java 蓝桥杯 B 组题目的备考策略4.总结正文【Java 蓝桥杯 B 组题目概述】Java 蓝桥杯是我国高校计算机类专业的一项重要赛事,旨在发现和培养优秀的计算机人才。

其中,B 组题目是针对本科生举办的比赛,其内容涵盖了 Java 语言的基本语法、数据结构与算法、操作系统等方面的知识。

参加 Java 蓝桥杯 B 组比赛不仅能够提升自己的编程技能,还可以与其他优秀的计算机专业学生进行交流,拓宽视野。

【Java 蓝桥杯 B 组题目的考试形式和要求】Java 蓝桥杯 B 组题目的考试形式为在线编程,参赛选手需要在规定的时间内(通常为 4 小时)完成若干道题目。

这些题目通常包括程序设计题、算法题、调试题等,要求参赛选手具备扎实的 Java 编程基础和较强的逻辑思维能力。

【Java 蓝桥杯 B 组题目的备考策略】1.扎实掌握 Java 基础知识。

包括 Java 基本语法、面向对象编程、异常处理、集合框架等,这些知识点是解决 Java 蓝桥杯 B 组题目的基础。

2.学习数据结构与算法。

数据结构与算法是计算机专业的核心知识,对于解决编程题目具有重要意义。

可以学习常见的数据结构(如数组、链表、树、图等)和算法(如排序、查找、动态规划等),并熟练掌握常用的算法思想和方法。

3.多做练习,积累经验。

参加在线编程练习平台,如 LeetCode、牛客网等,可以提高自己的编程能力和应对题目的技巧。

同时,多参加模拟赛,了解自己在考试环境下的应对能力,为正式比赛做好充分的准备。

4.分析总结,查漏补缺。

在练习过程中,要注重总结自己遇到的问题和不足,查找资料和学习他人的解题方法,不断提高自己的编程水平。

【总结】Java 蓝桥杯 B 组题目对于计算机专业的学生来说是一个很好的锻炼和学习机会。

要想在比赛中取得好成绩,需要扎实掌握 Java 基础知识,学习数据结构与算法,多进行练习和总结。

蓝桥杯大学组试题及答案

蓝桥杯大学组试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个是正确的字符串定义方式?A. char str[10] = "Hello";B. char str[10] = {'H', 'e', 'l', 'l', 'o'};C. char str[] = "Hello";D. char str = "Hello";答案:C2. 下列哪个选项是Java中声明一个整型数组的正确方式?A. int[] array = new int[5];B. int array[] = new int[5];C. int array = new int[5];D. int[] array = 5;答案:A3. 在Python中,以下哪个是正确的列表定义方式?A. my_list = [1, 2, 3]B. my_list = (1, 2, 3)C. my_list = {1, 2, 3}D. my_list = 1, 2, 3答案:A4. 在JavaScript中,以下哪个是正确的函数声明方式?A. function myFunction() {}B. var myFunction = function() {};C. function = myFunction() {};D. function myFunction = function() {};答案:A5. 在HTML中,以下哪个标签用于定义最重要的标题?A. <h1>B. <h6>C. <title>D. <header>答案:A6. 在CSS中,以下哪个属性用于设置文本的颜色?A. colorB. font-colorC. text-colorD. textColor答案:A7. 在SQL中,以下哪个命令用于创建一个新的数据库?A. CREATE TABLEB. CREATE DATABASEC. SELECT DATABASED. INSERT DATABASE答案:B8. 在Unix/Linux系统中,以下哪个命令用于查看当前目录下的文件和文件夹?A. lsB. dirC. pwdD. cd答案:A9. 在计算机网络中,以下哪个协议用于域名解析?A. HTTPB. FTPC. DNSD. SMTP答案:C10. 在操作系统中,以下哪个概念指的是系统资源的分配和管理?A. 进程B. 线程C. 调度D. 内存管理答案:D二、程序填空题(每题10分,共20分)1. 以下是一个简单的C语言程序,用于计算两个整数的和。

第七届蓝桥杯大赛模拟题

main.c #include<reg51.h>#include<intrins.h>#include"head.h"#define uchar unsigned char#define uint unsigned int#define ulong unsigned longsbit LSA=P1^0;sbit LSB=P1^1;sbit LSC=P1^2;sbit L1=P1^3;uint i,j,k,t,s,cs;uchar KeyValue;uchar code DATA[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uint code ts[]={1,5,30,60};uchar code jump[]={0x40,0x00};uchar displaydata[8];uint Tempdata[10]={0,0,0,0,0,0,0,0,0,0};void KeyDown();void main(){float tp;TMOD=0x10;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET1=1;TR1=0;L1=0;Ds18b20ReadTemp();one:i=0;j=0;t=1;T1:displaydata[0]=0x00;displaydata[1]=0x00;displaydata[2]=0x00;displaydata[3]=0x00;displaydata[4]=0x00;displaydata[5]=0x40;displaydata[6]=DATA[ts[j]/10];displaydata[7]=DATA[ts[j]%10];t=ts[j];while(1){TR1=1;for(i=0;i<8;i++){switch(i){case(0):LSC=0;LSB=0;LSA=0; break;case(1):LSC=0;LSB=0;LSA=1; break;case(2):LSC=0;LSB=1;LSA=0; break;case(3):LSC=0;LSB=1;LSA=1; break;case(4):LSC=1;LSB=0;LSA=0; break;case(5):LSC=1;LSB=0;LSA=1; break;case(6):LSC=1;LSB=1;LSA=0; break;case(7):LSC=1;LSB=1;LSA=1; break;}P0=displaydata[i];Delay1ms(1);P0=0x00;}if(KeyValue==4){1KeyValue=0;j++;if(j==4)j=0;goto T1;}if(KeyValue==5) goto two;}two:i=0;j=0;k=0;s=0;cs=0;TR1=0;Ds1302Init();while(1){Ds1302ReadTime();displaydata[0]=DATA[Time[2]/16];displaydata[1]=DATA[Time[2]%16];displaydata[2]=jump[s];displaydata[3]=DATA[Time[1]/16];displaydata[4]=DATA[Time[1]%16];displaydata[5]=jump[s];displaydata[6]=DATA[Time[0]/16];displaydata[7]=DATA[Time[0]%16];if(j!=displaydata[7]){j=displaydata[7];if(k==t){k=0;Tempdata[cs]=Ds18b20ReadTemp();cs++;if(cs==10) goto three;}k++;s++;if(s==2)s=0;}for(i=0;i<8;i++){switch(i){case(0):LSA=0;LSB=0;LSC=0; break;case(1):LSA=1;LSB=0;LSC=0; break;case(2):LSA=0;LSB=1;LSC=0; break;case(3):LSA=1;LSB=1;LSC=0; break;case(4):LSA=0;LSB=0;LSC=1; break;case(5):LSA=1;LSB=0;LSC=1; break;case(6):LSA=0;LSB=1;LSC=1; break;case(7):LSA=1;LSB=1;LSC=1; break;}P0=displaydata[i];Delay1ms(1);P0=0x00;}}three:i=0;j=0;k=0;t=0;TR1=1;while(1){TH0=(65536-5000)/256;TL0=(65536-5000)%256;ET0=1;TR0=1;for(j=0;j<10;j++){if(Tempdata[j]< 0)2{Tempdata[j]=Tempdata[j]-1;Tempdata[j]=~Tempdata[j];tp=Tempdata[j];Tempdata[j]=tp*0.0625*100+0.5;}else{tp=Tempdata[j];Tempdata[j]=tp*0.0625*100+0.5;}}T2:displaydata[0]=0x40;displaydata[1]=DATA[0];displaydata[2]=DATA[i];displaydata[3]=0x00;displaydata[4]=0x00;displaydata[5]=0x40;displaydata[6]=DATA[Tempdata[i] % 10000 / 1000]; displaydata[7]=DATA[Tempdata[i] % 1000 / 100]; while(1){for(j=0;j<8;j++){switch(j){case(0):LSA=0;LSB=0;LSC=0; break;case(1):LSA=1;LSB=0;LSC=0; break;case(2):LSA=0;LSB=1;LSC=0; break;case(3):LSA=1;LSB=1;LSC=0; break;case(4):LSA=0;LSB=0;LSC=1; break;case(5):LSA=1;LSB=0;LSC=1; break;case(6):LSA=0;LSB=1;LSC=1; break;case(7):LSA=1;LSB=1;LSC=1; break;}P0=displaydata[j];Delay1ms(1);P0=0x00;}if(KeyValue==6){TR0=0;L1=0;i++;if(i==10) i=0;KeyValue=0;goto T2;}if(KeyValue==7){TR0=0;L1=0;goto one;}}}}void Time1() interrupt 3{TH1=(65536-50000)/256;TL1=(65536-50000)%256;P2=0x0f;if(P2!=0x0f){P0=0x00;Delay1ms(10);3if(P2!=0x0f){P2=0X0F;switch(P2){case(0X07):KeyValue=0;break;case(0X0b):KeyValue=4;break;case(0X0d): KeyValue=8;break;case(0X0e):KeyValue=12;break;}P2=0XF0;switch(P2){case(0X70):KeyValue=KeyValue+3;break;case(0Xb0):KeyValue=KeyValue+2;break;case(0Xd0): KeyValue=KeyValue+1;break;case(0Xe0):KeyValue=KeyValue;break;}while(P2!=0xf0){Delay1ms(10);}}}}void Time0() interrupt 1{TH0=(65536-5000)/256;TL0=(65536-5000)%256;t++;if(t==100){L1=~L1;t=0;}}void.c#include"head.h"//---DS1302读取数据的地址命令---秒分时日月年--//uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};//---DS1302写入数据的地址命令---秒分时日月年-------//uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};//---DS1302时钟初始化2013年1月1日星期二12点00分00秒,存储顺序是秒分时日月周年,存储格式是用BCD码-------//uchar code WRITE_RTC_TIME[7] = {0x50, 0x59, 0x23, 0x29, 0x11, 0x02, 0x16};uchar Time[7];/************************************************************************ * 函数名: Ds1302Write* 函数功能: 向DS1302命令(地址+数据)* 输入: addr,dat* 输出: 无************************************************************************/ void Ds1302Write(uchar addr, uchar dat){uchar n;RST = 0;_nop_();SCLK = 0;//先将SCLK置低电平。

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

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

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