![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 52
Lemonbr
keep going
展开
-
蓝桥杯_三羊献瑞(暴力)
观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ------------------- 三 羊 生 瑞 气其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一) e d f g+ a b c d----------------- a b f d h#...原创 2019-03-22 19:43:34 · 253 阅读 · 0 评论 -
浮点数排序
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;/* 我们有N个正浮点数,均小于10000.0。 现在需要将这些浮点数按照离他最近的整数的差从小到...原创 2019-02-18 21:59:32 · 3297 阅读 · 0 评论 -
进制转换函数汇总及学习
一.指定格式输出1.C中指定格式输出printf("%05o\n",35); //按八进制格式输出,保留5位高位补零printf("%03d\n",35); //按十进制格式输出,保留3位高位补零printf("%05x\n",35); //按十六进制格式输出,保留5位高位补零 大写用大X2.C++中指定格式输出#include <bitset&...转载 2019-02-27 22:20:53 · 788 阅读 · 0 评论 -
计算节假日
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int festi...原创 2019-02-17 22:04:09 · 369 阅读 · 0 评论 -
蓝桥杯_嵌套图案
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ char s[150][150]; int n; scanf("%d", &n); /*初...原创 2019-02-17 21:12:00 · 150 阅读 · 0 评论 -
stringstream
streamstring在调用str()时,会返回临时的string对象。而因为是临时的对象,所以它在整个表达式结束后将会被析构。如果需要进一步操作string对象,先把其值赋给一个string变量后再操作。 stringstream ss("012345678901234567890123456789012345678901234567890123456789"); //错误用法...原创 2018-12-11 18:18:33 · 93 阅读 · 0 评论 -
关于sizeof的用法
1.sizeof的定义sizeof是一个操作符(operator),作用是返回一个对象或类型所占的内存字节数。2.语法有三种形式:1)sizeof(object);//sizeof(对象)2)sizeof object;//sizeof 对象3)sizeof(type_name);//sizeof(类型)对象可以是各种类型的变量,以及表达式(一般sizeof不会对表达式...转载 2018-12-03 18:53:48 · 1365 阅读 · 0 评论 -
STL实现的一个随机数算法
上课感觉老师写的这个很有意思记录一下,关于random_shuffle()可以参考https://blog.csdn.net/lihaidong1991/article/details/79389648#include <iostream>#include <algorithm>#include <vector>#include <numeri...原创 2018-11-27 17:59:09 · 560 阅读 · 0 评论 -
自己写的一个vector
#include <iostream>#include <vector>#include<deque>#include <algorithm>using namespace std;/* max_size();返回容器最大的可以存储的元素 pop_back()*/template<class T>//all...原创 2018-11-14 17:00:56 · 486 阅读 · 2 评论 -
DFS入门
核心代码:关于dfs参数问题,什么在变化,就把什么设置成参数。DFS基本框架void dfs()//参数用来表示状态 { if(到达终点状态) { ...//根据题意添加 return; } if(越界或者是不合法状态) return; if(特殊状态)//剪枝...转载 2018-11-05 23:03:59 · 109 阅读 · 0 评论 -
蓝桥杯_最大子阵(暴力)
#include<iostream>#include<algorithm>using namespace std;/*最大子阵 给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。其中,A的子矩阵指在A中行和列均连续的一部分。样例输入 3 3 -1 -4 3 3 4 -1 -5 -2 8 样例输出 10 */int ...原创 2019-02-19 18:02:43 · 281 阅读 · 0 评论 -
蓝桥杯_十进制转十六进制
方法一直接格式化输出,注意要大写#include<bits/stdc++.h>using namespace std;int main(){ int n; scanf("%d",&n); printf("%X",n); return 0;}#include <iostream>#include <stri...原创 2019-03-05 16:12:48 · 318 阅读 · 0 评论 -
蓝桥杯_蚂蚁感冒(模拟和规律)
长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】 第一行输入一个...原创 2019-03-22 15:54:23 · 326 阅读 · 0 评论 -
蓝桥杯_带分数
100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成...原创 2019-03-18 22:19:53 · 188 阅读 · 0 评论 -
神奇的位运算——进制转换问题(16转8)
说道位运算符,应该都了解,但是很少有人会用,在网上看别人的代码,我至今只见过一道题用到了位运算符,并被它深深的搞晕了(当然,他搞晕我是要负责的,我现在已经深深的迷上了他,真的是太神奇了),位运算符的原理容易懂,也都知道他运算的效率很高,但是他究竟怎么去用,用在什么地方,我想不少人都说不清楚,所以当我看到位运算符可以这么玩的时候,我感到很神奇!首先,我们先来一个简单的程序来说明位运算符的神奇。...转载 2018-07-25 15:42:52 · 932 阅读 · 0 评论 -
蓝桥杯_翻硬币
题目标题:翻硬币 小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:**oo***oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局...原创 2019-03-18 19:03:26 · 113 阅读 · 0 评论 -
蓝桥杯_六角填数
标题:六角填数 如图所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?通过next_permutation()函数 枚举每条边的所有情况,并进行判断#include <bits/stdc++.h>using namespace std;void ch...原创 2019-03-21 22:39:55 · 347 阅读 · 0 评论 -
蓝桥杯_错误票据
标题:错误票据某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N<100)...原创 2019-03-18 11:13:47 · 442 阅读 · 0 评论 -
蓝桥杯_基础练习 十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出的...原创 2019-03-14 13:37:09 · 435 阅读 · 0 评论 -
蓝桥杯_基础练习 字符串对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和Beijing 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,...原创 2019-03-13 11:04:38 · 436 阅读 · 0 评论 -
进制转换_10转16
问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式...原创 2019-03-13 22:32:35 · 1886 阅读 · 0 评论 -
BFS广度优先搜索算法
广度优先搜索(BFS)包含一下几个关键点:1.状态2.状态转移方式3.有效状态4.队列5.标记void bfs(起始点){ 将起始点放入队列中; 标记起点访问; while(如果队列不为空) { 访问队列首元素X; 删除队首元素; for(X 所有相邻点) { if(该点未被访问过且合法) { 将该点加入队列末尾; }...转载 2018-11-10 12:04:26 · 1350 阅读 · 1 评论 -
memset函数及其用法
在前面不止一次说过,定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”。每种类型的变量都有各自的初始化方法,memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。它是直接操作内存空间,mem即“内存”(memory)的意思。该函数的原型为:# in...转载 2018-11-04 20:54:35 · 1120 阅读 · 0 评论 -
C语言指针强制类型转换
概要:C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的通过检查一个值的位来判断它的类型。例如,定义如下:int a; float b;...转载 2018-09-12 11:03:24 · 5658 阅读 · 2 评论 -
简单的算法知识
素数:bool isprime(int n){ int m = sqrt(n); for(int i = 2; i <= m; i++) { if(n % i == 0) return false; } return ture;}回文数:就是一种对称的数,如12321bool ishuiwen...转载 2018-08-24 18:59:43 · 150 阅读 · 0 评论 -
C语言中static关键字的作用
在C语言中static的作用如下第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变...转载 2018-08-24 15:48:31 · 641 阅读 · 0 评论 -
c语言中main函数参数argc,argv说明,及命令行中如何传参数
方法1.C/C++语言中的main函数,经常带有参数argc,argv,如下:int main(int argc, char** argv)int main(int argc, char* argv[])这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运行该程序,(首先应该在命令行下...转载 2018-08-17 15:19:54 · 1637 阅读 · 0 评论 -
编程联系 翻扑克
现在,桌面上有9张正面向上的扑克。每次反动其中任意两张(包括已经翻过的牌)。使他们从一面向上变为另一面向上。这样一直下去。观察能否使所有的牌都反面向上?请用任意一种程序的方式证明你的结论。并在程序运行时告知你的证明思路。#include <iostream>using namespace std;/*现在,桌面上有9张正面向上的扑克。每次反动其中任意两张(包括已经翻过的...转载 2018-08-16 18:34:58 · 375 阅读 · 0 评论 -
经典算法排列组和之排列
我们在高中就接触过排列组和那么我们如何用程序去模拟这个过程,从而达到列出所有排列组合的可能呢?全排列的实现1.暴力求解(不可取)#include <stdio.h>#include <string.h>//暴力求解int main(){ char data[] = "abc"; for(int i = 0; i < str...转载 2018-08-07 16:22:45 · 536 阅读 · 0 评论 -
蓝桥杯基础练习 01字串
问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011一:暴力(这个可以有)...转载 2018-07-20 20:41:07 · 195 阅读 · 0 评论 -
有关类型转换问题
今天意外发现了一个关于类型转换的问题,想和大家探讨一下#include <stdio.h>int main(){ int b = 4, c = 5; float a = (1 - (float) b / c) * 100; printf("float a = %f int a = %d\n", a, (int)a); return 0;}为什么会出现这种...原创 2018-07-20 11:54:16 · 132 阅读 · 0 评论 -
编写一个程序读取输入,读到#为止,报告ei字符串出现的次数
#include <stdio.h>int main(void){ char ch; int n = 0;//n为出现的次数 ch = getchar(); while(ch != '#') { if (ch == 'e') { ch = getchar(); if (ch == 'i') { n++; } } else...原创 2018-07-12 10:44:17 · 2270 阅读 · 0 评论 -
16进制转10
请设计程序实现如下功能:从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 :FFFF 样例输出: 65535#include <iostream>#include <stdio.h>#include <string.h>...原创 2018-09-13 21:36:01 · 568 阅读 · 0 评论 -
string中c_str()的用法
1.语法:1 const char *c_str();c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同。这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针。比如:...原创 2018-09-13 21:54:27 · 87920 阅读 · 14 评论 -
C++ STL之 vector的capacity和size属性区别
vector中这两个属性很容易弄混淆。size是当前vector容器真实占用的大小,也就是容器当前拥有多少个容器。capacity是指在发生realloc前能允许的最大元素数,即预分配的内存空间。当然,这两个属性分别对应两个方法:resize()和reserve()。使用resize(),容器内的对象内存空间是真正存在的。使用reserve()仅仅只是修改了capacity的值...转载 2018-11-06 17:46:52 · 274 阅读 · 0 评论 -
二维数组翻转
挑战任务在计算机中,一张数字图像,可以被看做是一个矩阵或者说数组。学过线性代数的同学对矩阵肯定不陌生。一般来说,图像是一个标准的矩形,有着宽度(width)和高度(height)。而矩阵有着行(row)和列(column),矩阵的操作在数学和计算机中的处理都很常见且成熟,于是很自然的就把图像作为一个矩阵,把对图像的操作转换成对矩阵的操作,实际上所有的图像处理工具都是这么做的。所以我们如...原创 2018-11-01 15:17:03 · 3606 阅读 · 0 评论 -
数组和指针的区别
今天和好友讨论到strcpy函数第一个参数为啥不能是指针,在观察过strcpy函数的参数列表后(char *, const char *)在c primer plus(第六版)中的324也中找到了答案。这个问题的本质还是数组与指针在初始化字符串的区别,参考程序清单中11.3和单次副本表示法...原创 2018-10-24 02:10:30 · 93 阅读 · 0 评论 -
setprecision、fixed、showpoint的用法总结(经典!!超经典!!)
转自https://blog.csdn.net/u011321546/article/details/9293547首先要加头文件:iomanip一:setprecision 作用:控制输出流显示浮点数的数字个数,setprecision(n)就是输出的n个数,会有四舍五入。比如:double s=20.7843000,cout<<setprecision(1)&...转载 2018-09-30 17:39:40 · 443 阅读 · 0 评论 -
资料整合(持续更新)
一,一些有名的博客1.阮一峰:名气太大,就不介绍了 http://www.ruanyifeng.com2.陈皓:国内大牛 https://coolshell.cn/3.刘未鹏:微软中国工程师 http://mindhacks.cn/4.Paul Irish:Google Chrome前端工程师 https://www.paulirish.com/5.Scott Hanselm...原创 2018-10-08 22:41:29 · 431 阅读 · 0 评论 -
Code:Blocks 中文乱码问题原因分析和解决方法!
转自:https://blog.csdn.net/softman11/article/details/6121538这里以Code::Blocks 10.5版本为蓝本进行说明。首先,请在Code::Blocks里面输入标准的一个C程序: #include<stdio.h> #include<stdlib.h> #include<wchar.h&g...转载 2018-10-07 12:55:03 · 2294 阅读 · 0 评论