- 博客(46)
- 收藏
- 关注
原创 13到21年蓝桥杯真题及解析
2013年第四届蓝桥杯省赛试题详解第四届蓝桥杯C/C++ B组试题解析2014年第五届蓝桥杯省赛试题详解第五届蓝桥杯C/C++ B组试题解析2015年第六届蓝桥杯省赛试题详解第六届蓝桥杯C/C++ B组试题解析2016年第七届蓝桥杯省赛试题详解第七届蓝桥杯C/C++ B组试题解析2017年第八届蓝桥杯省赛试题详解第八届蓝桥杯C/C++ B组试题解析2018年第九届蓝桥杯省赛试题详解第九届蓝桥杯C/C++ B组试题解析2019年第十届蓝桥杯省赛试题详解第十届蓝桥杯C/C++ B组试题
2022-01-09 00:12:56
1335
1
原创 2021年第四届蓝桥杯省赛C/C++ B试题解析
2021:https://blog.csdn.net/qq_36306833/article/details/122011749?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164165755616780265431888%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164165755616780265431
2022-01-09 00:00:30
1117
原创 2020年第四届蓝桥杯省赛C/C++ B试题解析
2020:https://blog.csdn.net/weixin_43772166/article/details/108237718?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164165739716780255270831%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164165739716780255270831&
2022-01-08 23:58:51
1183
原创 2019年第四届蓝桥杯省赛C/C++ B试题解析
2019:https://blog.csdn.net/hza419763578/article/details/89031637
2022-01-08 23:56:03
312
原创 2018年第四届蓝桥杯省赛C/C++ B试题解析
1、第几天题目:第几天2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容答案:125#include<stdio.h>int main(){ int s=31+29+31+30+4; printf("%d",s); return 0;}2、明码题目:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。
2022-01-08 23:42:31
576
原创 2017年第四届蓝桥杯省赛C/C++ B试题解析
1、购物单题目: 购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。你的任务是计算出,小明最少需要取多少现金。以下是让人头疼的购物单,为了保护隐私,
2022-01-08 23:22:21
348
原创 2016年第四届蓝桥杯省赛C/C++ B试题解析
1、煤球数目题目:煤球数目有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),…如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。解题思路:递归或者递推1,1+2,1+2+3,1+2+3+4,。。。#include<stdio.h>int main(){ int a[101]={0,1,3},i,s=0;
2022-01-08 22:03:39
245
原创 2015年第四届蓝桥杯省赛C/C++ B试题解析
1、奖券数目题目:奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。#include<stdio.h>main(){ int a,b,c,d,e,sum=0; for(a=1;a<
2022-01-08 21:36:14
207
原创 2014年第四届蓝桥杯省赛C/C++ B试题解析
1、啤酒和饮料标题:啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。注意:答案是一个整数。请通过浏览器提交答案。不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。#include<stdio.h>main(){ int a,b; for(a=1;a<40;a++) for(b=a;b<50;b++) { if(a*23+b*19==823)
2022-01-08 21:05:41
294
原创 2013年第四届蓝桥杯省赛C/C++ B试题解析
1、高斯日记题目标题: 高斯日记大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。高斯获得博士学位的那天日记上标着:8113请你算出高斯获得博士学
2022-01-08 20:29:11
408
原创 C++——QT之默认部件基类Widget
QT提供的默认部件基类包括QMainWindow、QWidget、和QDialog这三种,这三个部件基类也是用的最多的。什么是widget?详细解释:QWidget类是所有部件对象的基类,被称为基础窗口部件,继承关系详看QWidget类关系图。QWidget提供自我绘制和处理用户输入等基本功能,如接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。一个没有父窗口部件的窗口部件一直是顶级窗口
2021-07-18 00:15:44
931
原创 C++——QT之信号与槽
通俗的理解信号与槽信号与槽(Signal & Slot)是 Qt 编程的基础,也是 Qt 的一大创新。因为有了信号与槽的编程机制,在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。信号(Signal)就是在特定情况下被发射的事件,例如PushButton 最常见的信号就是鼠标单击时发射的 clicked() 信号。发射信号使用Qt的emit关键字。QT 的 signals 关键字指出进入了信号声明区,随后即可声明自己的信号。以上是比较官方的理解方式,但是我们可以通俗的理解为:信号的
2021-07-16 23:50:07
2586
3
原创 linux——孤儿僵尸守护进程
孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程所收养,并由init进程对它们完成状态收集工作。想想我们如何模仿一个孤儿进程? 答案是: kill 父进程!僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。僵尸进程怎样产生的: 一个进程在调用exit命令结束自己的生命的时候,其实它并没有真
2021-05-05 23:15:50
159
原创 Linux——创建和销毁进程
如何创建进程?直接使用fork函数,创建子进程。调用fork函数的时候会有一个fpid返回值。注意:这里的fpid在执行fork后为两个,子进程一个是为0,父进程一个是子进程的id。注意fpid 不是父进程的和子进程的id!!!通过判断fpid切换到父进程子进程:#include <unistd.h>#include <stdio.h>#include <stdlib.h>int main(){ pid_t fpid;//fpid表示fork函数返
2021-05-01 23:31:54
548
原创 网络编程——轻易理解进程和线程
我们经常谈论程序,实际上就是一堆指令和数据的集合,这个集合反映在了一个静态可执行文件和相关的配置文件等,而进程是什么呢?首先什么是进程?进程就是正在运行的程序!在就像QQ,微信,在他们运行的时候就是两个进程。我们把进程看做是一个工厂的车间,它管理很多的资源(如打开的文件、挂起的信号、进程状态、内存地址空间,类比就像工厂的原材料。)这个车间就是为了处理这些指令和命令(程序)。注意,程序并不是进程,实际上两个或多个进程不仅有可能执行同一程序,而且还有可能共享地址空间等资源(也就是,一个东西的生产可以由多个
2021-04-28 11:01:35
129
原创 错误小结——运行程序时不报错,提示栈溢出
运行程序的时候提示栈溢出,或者直接跳到汇编代码,并且0报错,0警告,可以检查一下是否有定义的数组定义的太大,解决方法,可以将该数组改为分配动态内存
2020-12-22 13:31:11
363
原创 五大常规算法——动态规划算法
什么是动态规划算法?动态规划也有一种分治思想,但是和分治算法也是有区别的,分治算法是吧问题分解成若干个小问题,从小问题的解,堆砌大问题的解。但是这里面存在的问题是,在重复递归的过程中,需要消耗大量计算机资源,同时当计算量较大时,也比较浪费时间。动态规划,也是讲大问题分解成小问题,在小问题中找出规律,提前把需要的小问题的结果存储到数组里,在求解叫大问题时,就可以在数组里找到小问题的解,避免重复计算,从而提高算法效率。动态规划原理例题小明走楼梯,一次可以跨两个台阶,也可以跨一个台阶,求有n个台阶,一共有多
2020-12-09 20:22:59
1371
原创 五大常规算法——分治算法
什么是分治算法分治算法就是将问题分而治之。大问题分解成小问题,求解,再由小问题的解构建出大问题的解。分治算法的例题原理例题:比如从一串从小到大排列的数字 5,8,12,15,24,26,28,30,31,33中,寻找值26,一般的我们是一个一个比较,这样比较慢,比较次数多,浪费时间。这里我们可以从中间开始比较,如果比中间的大,就在数组右边寻找,如果比中间的小就在左边寻找,且再次按照同样的方法。这里用到就是分治算法的原理。把大数列化成小数列,再把小数列当成大数列,化成更小的数列,直到找到为止。分治算
2020-12-09 19:30:03
667
原创 高级程序员必备数据结构算法之哈希表
什么是哈希表哈希表有称为散列表,是一种空间换结构的数据结构。为每个数据加入键元素,通过键进行检索。哈希表的组成:键(key):是自己添加的用于检索的数据,一般为整型,也可以为其他类型;值(value):用于存储数据的地方;索引:数组的下标;哈希桶:连接在哈希表数组上的数组或链表;哈希函数:将键值映射到索引上(数组下标),一般采用求余法;如图:过程:建立结构体,把数据加上键,键通过对求余,判断和哪个数组下标一致,就链接到哪个下标,这个过程称为映射。通过映射,当我们要寻找这个数据时,提供键值
2020-12-01 09:17:05
221
原创 C++之VS链接数据库的方法
1、把架构从X86改成X64;2、查看:\Program Files\MySQL\MySQL Server 8.0目录下面是否存在include和lib两个文件,打开项目属性,选择VC++目录,选择包含目录,点击 ,添加C:\Program Files\MySQL\MySQL Server 8.0\include,点击确定;3、还是在项目属性里面,在VC++目录中选择库目录C:\Program Files\MySQL\MySQL Server 8.0\lib,点击确定;4、选择链接器
2020-11-13 18:57:27
976
原创 C++调用函数模板的规则
规则一:当函数模板和普通函数一致时,会调用普通函数#include<iostream>using namespace std;template<typename T>T test1(T a, T b) { cout << "调用函数模板" << endl; return a;}int test1(int a,int b) { cout << "调用普通函数" << endl; return a;}int
2020-08-19 20:05:26
2087
原创 C++之函数模板
什么是函数模板函数模板是函数的类型进行泛化。例如原本一个函数的功能是a+b,但是这个函数需要供各种类型的参数来使用,这用就需要定义多个相同功能的函数,进行重载。函数模板就是泛化了这些类型的概念,只需要定义一个函数就可以实现各种类型的a+b了函数模板的形式template<typename T> //typename可以换成class效果一样T test1(T a,T b){};具体什么类型,就根据传递参数给函数模板的时候,才能知道T是什么类型。注意:定义的模板类型参数必须在函数中
2020-08-19 19:45:14
78
原创 C++之final和override的使用
final的使用场景+定义类时,直接放在类名之后,让该类不能再被继承+在用虚函数的时候,放在虚函数声明的最后,让该虚函数不能被重写override的使用场景+在重写虚函数时,放在充写虚函数的后面,表示这是一个重写的虚函数,起到提示作用...
2020-08-18 11:02:33
209
原创 C++之纯虚函数和抽象类
什么是抽象类就是存在纯虚函数的类叫做抽象类,抽象类不能定义具体对象,是根据具体类的共同特征抽象出的类。什么是纯虚函数就是在类定义虚函数时,直接由`virtual int a();改写成virtual int a()=0;且之后不写具体实现,就为纯虚函数。纯虚函数定义的目的就是为了现在不做实现,只存在接口,等之后留给子类实现。...
2020-08-18 10:55:25
191
1
原创 C++多态虚函数列表
什么是虚函数类表虚函数列表实际就是虚函数的具体实现的原理虚函数怎么通过虚函数类表实现的呢可以理解为当一个类中存设有虚函数的时候,在创建这个对象的时候系统会就创建一个虚函数指针,指向虚函数类表。虚函数类表中可以理解为一个单独的空间,专门为对象存放虚函数的。当子类继承该函数之后,就相当把虚函数列表复制一遍,成为自己的虚函数。如果子类又重新写这个虚函数 。或者有添加。重写的就把原来的虚函数覆盖,增加的就在原来的虚函数列表后面增加一个虚函数。当一个函数由两个继承而来,那么这个子类就有两个虚函数列表
2020-08-18 10:45:48
192
原创 C++多态之细说虚函数
虚函数的本质形式上使用的是统一的父类的指针进行一般性的操作实际上,这个指针指向子类对象形式上调用父类函数,实际调用子类同名函数注意:在程序执行时,父类指针指向父类对象或者子类对象形式上是无法分辨的的,只有通过使用多态机制,才能调用真正的对应方法。如何使用虚函数在父类要使用虚函数的函数的返回类型前面加上virtual ,只是声明的时候加,函数实现的时候不用加。具体代码实现#include<iostream>using namespace std;class Father
2020-08-18 09:36:24
114
原创 C++之细说字符串数组和字符串对象以及两者的相互转换
C语言存放字符串的方式——字符串数组在C语言中通过定义C语言字符串数组保存字符串;如char a[10]="abcd";//这里的char a[10]可以换成char a[]或者char* a//a[0]='a';//a[1]='b';//a[2]='c';//a[3]='d';//a[4]='\0'; //'\0'算长度且占内存字符串数组有很多字符串的处理函数;如:strcpy(),strcat(),strmp(),strlen(),等等是用于字符串处理的函数。他们的头文件是&
2020-08-09 22:25:51
217
原创 数据结构与算法1——位图算法
速度之巅——位图算法:在很多面试题里面都会考到位图算法,那么什么是位图算法?简单来说就是一种用空间换时间,大大提高运算效率的一种方法。首先请看一下下面的题:在很多不重复整数中,这些整数的范围是0到40亿。输入一个数,判断这个数是不是属于这组整数。一般来说这个很简单,做个for循环就可以,但是这个范围是40亿,范围很大需要的时间特别长。通过位图算法就可以解决这个问题。假设整数范围是0到7,就用一个字节,里面有八个二进制位。把0到7依次排列,如下:首先把字节都初始化为0,然后如果不重复的整数数组为
2020-07-28 22:05:56
506
原创 C++继承与派生之子类型关系
什么是子类型关系在公有继承时,派生类对象可以作为基类型对象处理,派生类是基类的子类型。如:#include<iostream>#include<Windows.h>using namespace std;class A {public: A() {} void show() { cout << "diaoyong_A" << endl; } ~A(){}};class B: public A{public: B() {}
2020-07-25 12:42:37
679
原创 C++之继承和派生
什么是继承和派生?什么是继承和派生?在我们写程序的时候,比如需要写两个类:男人类,和女人类 。但是在写这两个类的方法的时候有很多方法是相同的,比如吃饭类,喝水类,学习类。这样的写的话就做了重复的工作,增加了 写程序和后期维护的成本。因此C++里就有了继承和派生的概念,意思就是根据男人类和女人类的共同特点,抽象出一个人类。这里这个人类就相当于父类,女人类和男人类就相当于子类。子类可以继承除了父类的构造函数和外析构函数以外的所有数据成员函数和成员函数(包括私有的)。继承和派生其实是一个意思,子类继承父类,父
2020-07-15 13:52:40
308
原创 C++之类的聚合关系
什么是类的聚合关系类的聚合关系就是在A类中定义一个B类指针,在A类中要使用B类的这个对象得时候,只需要传递一个已存在的B类对象的指针。这样就可以使用而不创建B类的对象了。注意:聚合关系A类对象和B类对象并不是同生共死的。如何使用类的聚合如://computer.h#pragma once#include<iostream>class Voice_box;using namespace std;class computer {private: Voice_box *add
2020-07-07 11:57:42
1591
原创 C++之类的组合关系
什么是类的组合关系类的组合关系说通俗点就是在类里面定义另一个类,类对象和被包含的对象是同生共死,是包含关系。就相当于电脑类和CPU类的关系。组合关系怎么用在第一个类的成员函数中,被包含的对象可以调用自己的成员函数。第一个类的头文件必须包含第二类的头文件。被包含的得对象初始化通过第一个对象的构造函数的初始化列表进行初始化。如://computer.h#pragma once#include<iostream>#include"cpu.h"using namespace std
2020-07-07 08:40:28
1035
原创 C++之const成员函数
什么是const成员函数?const的成员函数是类成员函数的一种,是在成员函数声明和后面实现的时候后面加上const。const对象只能调用const成员函数,但是const成员函数可以被const或非const对象调用。const成员函数特点const成员函数是不能改变数据成员的值的!!!在一般写类的时候,之后不改变数据成员的值都强烈建议写成const类型const成员函数的举例#include<iostream>#include<Windows.h>using n
2020-07-05 13:19:11
401
原创 C++之const数据成员
什么是const数据成员在类的数据成员中,有些数据是不想让其改变的,所以在定义这种数据成员时候前面加上const,变成const数据成员。这样数据就不可改变。const数据成员这么进行初始化1、在定义的时候初始化,但是这种只在C++11版本有用2、使用初始化列表如Human::Human():man(Man){}3、构造函数里面加参数,对const数据成员初始化指定值...
2020-07-05 10:34:19
200
原创 C++之类的静态成员函数
什么是静态成员函数?静态成员函数也属于类的一个成员函数,但是使用时与类的普通成员函数有差别。静态成员函数的功能是什么?因为类中有静态数据成员,这些数据成员一般是一些类的动态熟悉。如,对创建对象个数的统计。如果再创建一个对象来访问静态数据成员,这样原本的静态数据不准确。有了静态成员函数就可以解决这个问题。通过类名,直接调用静态数据成员。如何使用静态成员函数静态成员函数的定义就是在普通成员函数前面加上static。但是在实现的时候,就不需要加static了声明:static int num();
2020-07-05 09:30:16
654
原创 C++之类的静态数据成员
什么是类的静态数据成员?静态数据成员也也是一个类的数据成员。但是这个数据成员不根据所定于的对象而存在。而是一个属于类的数据成员。具体实现定义:static int a;实现:int Human::a=10; //不需要加static类的静态成员函数有什么用?举个例子,例如有一个人的类,一个对象为一个人。要求实现算出已经定义了多少个人时就可以使用类的静态成员函数。#include<iostream>#include<Windows.h>using namespac
2020-07-04 22:22:48
246
原创 C++面向对象程序设计之this指针
this 指针是什么this指针是在定义对象的时候,指向该对象的指针this指针有什么用this 指针的用途在三个方面1、构造函数里把对象的给数据成员赋值。如Human::Human(const Human &other) { //拷贝构造函数的实现 this->a = other.a; this->b = other.b;}2、类的成员函数返回为引用。如Human& Human::test(Human &other) { if (this->
2020-07-04 17:34:21
259
原创 C++之析构函数
什么是析构函数?有什么作用在销毁一个对象时,通过调用析构函数,销毁其定定义时所占内存资源使用权限一般为:public析构函数的特点1析构函数名是和类名前加上,如“类名”。2析构函数和构造函数一样,程序运行时,系统自动调用。不能被人为调用。3析构函数不创建时。系统会创建。4如果在构造函数中有用new创建内存空间,需要在析构函数里用delete释放...
2020-07-04 16:28:16
179
原创 C++之类的构造函数
什么是构造函数,构造函数的作用构造函数说白了就是在类里面在定义对象的时候,对类中的数据成员进行初始化的函数。那构造函数和一般的成员函数有什么不同呢。1、构造函数名和类名是一样的;2、构造函数没有返回类型;3、一个类中可以定义多个构造函数;4、构造函数在创建对象时,自动调用#include<iostream>#include<Windows.h>using namespace std;//定义一个类class Human {private: int a;
2020-07-04 14:34:02
1531
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人