蓝桥杯冲刺(C/C++)(—) 真题练习(持续更新...积极备赛)

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。

高渐离:史书上会记载,秦王登基的那一天,有个叫高渐离的人袭击了他。秦始皇:你错了,史书是由我来写的。

——<秦颂>

 


目录

高渐离:史书上会记载,秦王登基的那一天,有个叫高渐离的人袭击了他。秦始皇:你错了,史书是由我来写的。

——<秦颂>

 

一、什么是蓝桥杯?

二、C/C++选手备赛核心!

单词分析 

题目描述

输入描述

输出描述

输入输出样例

运行限制

成绩统计

题目描述

输入描述

输出描述

输入输出样例

运行限制

门牌制作

题目描述

运行限制

卡片

运行限制

成绩分析

题目描述

输入描述

输出描述

输入输出样例

运行限制

空间

运行限制

时间显示

题目描述

输入描述

输出描述

输入输出样例

评测用例规模与约定

运行限制

九进制转十进制

问题描述

运行限制

获取源码?私信?关注?点赞?收藏?


 

一、什么是蓝桥杯?

        蓝桥杯全国软件和信息技术专业人才大赛,是由工业和信息化部人才交流中心举办的全国性IT学科赛事。全国1200余所高校参赛,累计参赛人数超过40万人。蓝桥杯大赛连续两年被列入中国高等教育学会发布的“全国普通高校学科竞赛排行榜”,是高校教育教学改革和创新人才培养的重要竞赛项目。对大学生综合评测,奖学金评定,升学考研都有一定助益

        蓝桥杯大赛共包括三个竞赛组别,个人赛-软件类,个人赛-电子类,以及视觉艺术大赛。其中个人赛-软件类的比赛科目包括C/C++程序设计、Java软件开发、Python程序设计。 


二、C/C++选手备赛核心!

             如果你是C/C++的选手,那我劝你一定要认真学好所有的基础算法。C和C++都是非常适合用来写算法的语言,所以这个组别的选手大多都是有一定的实力的,如果你想来混可能被吃的渣都不剩。当然其他两组选手也非常多,所以也需要认真去复习,先看看我归纳的学习路线图

       

        作为博主的我也是第一次参加蓝桥杯,目前正积极备赛,希望能在这次比赛中和大家一起取得一个好的成绩,💪

        欢迎私信讨论ℹℹℹ 


单词分析 

难度: 简单   标签: 字符串, 暴力, 2020, 省赛 

题目描述

小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。

现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。

输入描述

输入一行包含一个单词,单词只由小写英文字母组成。

对于所有的评测用例,输入的单词长度不超过 1000。

输出描述

输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。

第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

输入输出样例

示例 1

输入

lanqiao

输出

a
2

示例 2

输入

longlonglongistoolong

输出

o
6

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

#include <iostream>
using namespace std;
int main()
{
  string str;
  char maxa;
  int count=1,max=0;
  cin >> str;
  for(int j=0;j<str.length();++j){
    for(int k=j+1;k<str.length();++k){
      if(str[j]==str[k]){
        count++;
      }
    }
    if(count>max){
      max=count;
      maxa=str[j];
    }
    count=1;
  }
  cout << maxa << endl << max; 
  return 0;
}

成绩统计

难度: 简单   标签: 数学, 暴力, 2020, 省赛 

题目描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。

请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。

输入描述

输入的第一行包含一个整数  n(1≤n≤104)n (1≤n≤104),表示考试人数。

接下来 �n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出描述

输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。

输入输出样例

示例

输入

7
80
92
56
74
88
100
0

输出

71%
43%

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
  int n,grade,count1=0,count2=0;
  cin >> n;
  for(int i=1;i<=n;i++){
    cin >> grade;
    if(grade>=60){
      count1++;
    }
    if(grade>=85){
      count2++;
    }
  }
  printf("%.0lf",((count1*1.0)/n)*100);
  cout << '%' << endl;
  printf("%.0lf",((count2*1.0)/n)*100);
  cout << '%';
  return 0;
}

门牌制作

难度: 简单   标签: 填空题, 2020, 省赛

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝要为一条街的住户制作门牌号。

这条街一共有 20202020 位住户,门牌号从 11 到 20202020 编号。

小蓝制作门牌的方法是先制作 00 到 99 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、71、0、1、7,即需要 11 个字符 00,22 个字符 11,11 个字符 77。

请问要制作所有的 11 到 20202020 号门牌,总共需要多少个字符 22?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
#include<bits/stdc++.h>
using namespace std;
int main(){
	int count=0;
	for(int i=1;i<=2020;i++){
		int j=i;
		while(j){
			if(j%10==2){
			count++;
		}
		j=j/10;	
		}
	}
	cout << count;
	return 0;
} 

卡片

难度: 简单   标签: 普通填空, 省赛, 2021

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝有很多数字卡片,每张卡片上都是数字 00 到 99。

小蓝准备用这些卡片来拼一些数,他想从 11 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。

小蓝想知道自己能从 11 拼到多少。

例如,当小蓝有 3030 张卡片,其中 00 到 99 各 33 张,则小蓝可以拼出 11 到 1010,

但是拼 1111 时卡片 11 已经只有一张了,不够拼出 1111。

现在小蓝手里有 00 到 99 的卡片各 20212021 张,共 2021020210 张,请问小蓝可以从 11 拼到多少?

提示:建议使用计算机编程解决问题。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
#include<bits/stdc++.h>
using namespace std;
int main(){
	int count=0;
	long long int i;
	for(i=0;;i++){
		int j=i;
		while(j){
			if(j%10==1){
				count++;
				if(count==2021){
					cout << i << endl;
					break;
				}
			} 
			j=j/10;
		}
	}
	//cout << "3181";
} 

成绩分析

难度: 简单   标签: 模拟, 暴力, 2020, 省赛

题目描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

请计算这次考试的最高分、最低分和平均分。

输入描述

输入的第一行包含一个整数 � (1≤�≤104)n (1≤n≤104),表示考试人数。

接下来 �n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出描述

输出三行。

第一行包含一个整数,表示最高分。

第二行包含一个整数,表示最低分。

第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。

输入输出样例

示例

输入

7
80
92
56
74
88
99
10

输出

99
10
71.29

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	int nums[10010],sum=0;
	cin >> n;
	for(int i=0;i<n;i++){
		cin >> nums[i];
		sum=sum+nums[i];
	}
	sort(nums,nums+n);
	cout << nums[n-1] << endl << nums[0] << endl;
	double average=sum*1.0/n;
	printf("%.2lf",average);
} 

空间

难度: 简单   标签: 普通填空, 省赛, 2021 

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝准备用 256��256MB 的内存空间开一个数组,数组的每个元素都是 3232 位 二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问 256��256MB 的空间可以存储多少个 3232 位二进制整数?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
#include<bits/stdc++.h>
using namespace std;
int main(){
	long long int n=256*1024*1024/4;
	cout << n;
} 

时间显示

难度: 简单   标签: 2021, 省赛

题目描述

小蓝要和朋友合作开发一个时间显示的网站。

在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 19701970 年 11 月 11 日 00:00:0000:00:00 到当前时刻经过的毫秒数。

现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。

给定一个用整数表示的时间,请将这个时间对应的时分秒输出。

输入描述

输入一行包含一个整数,表示时间。

输出描述

输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 00​​​​ 到 2323​​​​,MM 表示分,值为 00​​​​ 到 5959​​​,SS 表示秒,值为 00​​ 到 5959​。时、分、秒 不足两位时补前导 00。

输入输出样例

示例 1

输入

46800999

输出

13:00:00

示例 2

输入

1618708103123

输出

01:08:23

评测用例规模与约定

对于所有评测用例,给定的时间为不超过 10181018 的正整数。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 512M
#include <bits/stdc++.h>
using namespace std;
int main()
{
  long long int h;
  cin >> h;
  int hh,mm,ss;
  h = h%(24*60*60*1000);//s
//  cout << h << endl;
  hh = h/(60*60*1000)%24;
//  cout << hh << endl;
  mm = h/(60*1000)%60;
//  cout << mm << endl;
  ss = h/(1000)%60;
//  cout << ss << endl;
  printf("%02d:%02d:%02d\n",hh,mm,ss);
  return 0;
}

九进制转十进制

难度: 简单   标签: 2022, 省赛

问题描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

九进制正整数 (2022)9(2022)9​ 转换成十进制等于多少?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 512M
#include <bits/stdc++.h>
using namespace std;
int main()
{
    string str="2022";
    int n=0;
    for(int i=0;i<str.length();++i)
        n=n*9+str[i]-'0';
    cout << n ;
    return 0;
}

好了,这篇文章到这就结束了,就是一个简简单单的题解,希望可以帮助到大家!!!


2023年第二十八期,希望得到大家的喜欢🙇‍

也是新的系列,将会持续更新,🙇‍

希望大家有好的意见或者建议,欢迎私信


以上就是本篇文章的全部内容了

 ~ 关注我,点赞博文~ 每天带你涨知识!

1.看到这里了就 [点赞+好评+收藏] 三连 支持下吧,你的「点赞,好评,收藏」是我创作的动力。

2.关注我 ~ 每天带你学习 :各种前端插件、3D炫酷效果、图片展示、文字效果、以及整站模板 、HTML模板 、C++、数据结构、Python程序设计、Java程序设计、爬虫等! 「在这里有好多 开发者,一起探讨 前端 开发 知识,互相学习」!

3.以上内容技术相关问题可以相互学习,可 关 注 ↓公 Z 号 获取更多源码 !
 

获取源码?私信?关注?点赞?收藏?

👍+✏️+⭐️+🙇‍

有需要源码的小伙伴可以 关注下方微信公众号 " Enovo开发工厂 "🙇‍

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Enovo_你当像鸟飞往你的山

好好读书!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值