C/C++
文章平均质量分 92
C与C++编写算法题时博主踩的坑
说文科技
同名公众号【说文科技】,做有态度的研究。
展开
-
【算法竞赛bug经验谈】编程经验总结【C/C++】
写算法题时,悲催不是你的 wrong answer,而是在你写完代码之后,你却发现你的思路存在纰漏。这里总结了一些我写题时的一些常犯错误,供大家编程时参考。原创 2020-02-15 21:23:38 · 903 阅读 · 0 评论 -
浮点数比较
浮点数比较注意事项原创 2016-12-18 21:09:27 · 789 阅读 · 0 评论 -
if与if-else的区别
多个if是所有的if都会进行判断if else if是只要有满足条件的,就不再对之后的else if进行判断具体代码如下:#include int main(){ int a,c; /**a = 2; if(a==1) c=1; if(a==2) c=2; if(a%2==0) c=3; printf("c=%d\n",c);//结果是c=3原创 2016-03-06 15:11:43 · 1341 阅读 · 0 评论 -
如何输入带空格的字符串
如何输入带空格的字符串? C++getline原创 2020-03-23 00:59:15 · 1389 阅读 · 0 评论 -
结构体(C)
C++中的类其实就是C语言中的结构体的延伸与扩展。原创 2020-03-03 23:35:11 · 282 阅读 · 0 评论 -
C++中常用容器介绍
详细介绍C++中的常用容器的常用方法,包括vector,map,string,set等等。原创 2020-02-22 10:23:51 · 557 阅读 · 0 评论 -
lower_bound与upper_bound函数
在数组有序的前提下,可以使用 lower_bound,upper_bound 等函数迅速查找出某个位置的下标。其中 lower_bound 找出序列中第一个大于等于x的数upper_bound找出序列中第一个大于x的数。原创 2020-01-29 16:30:45 · 414 阅读 · 0 评论 -
蓝桥杯——十六进制转换十进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535//错误出现在temp,sum,的基本类型#include #include #define N 10000int原创 2016-03-06 18:03:47 · 845 阅读 · 0 评论 -
蓝桥杯生涯
VC++6.0编辑器不支持long long数据类型,比如下题:问题描述求1+2+3+...+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在提交之前所有这些样例都需要测试通过才行原创 2016-03-06 11:40:49 · 596 阅读 · 0 评论 -
bool型变量
1.不能直接输入bool型变量(即不能直接从键盘上输入true,false等)2.示例代码如下:#include using namespace std;int main(){ bool a ; cin>>a; cout<<a; if(a){ cout<<"true"<<endl; } if(!a){ cout<<"false"<<endl; }} 3.运行原创 2017-02-20 21:30:23 · 1432 阅读 · 0 评论 -
c++中bitset的使用
c++中bitset的使用在对于数据量很大的情况下,使用bitset是个不错的选择。下面我给出一些平时不大能想起来的处理bitset 的方法。1. bitset的构造方法使用默认构造器,每位填充0。使用一个整数作为参数。【在构造的时候,会将这个整数转换成相应的二进制数,然后对bitset进行填充】使用一个0/1字符串对bitset进行填充。2. 常用方法1.可以对两个bitse...原创 2020-01-05 10:56:03 · 540 阅读 · 0 评论 -
常见C++代码报错
常见C++代码报错1.报错34 16 D:\OpenJudge\PAT\c\1139_2.cpp [Error] request for member 'push_back' in '(& v)->std::vector<_Tp, _Alloc>::operator[]<int, std::allocator<int> >(((std::ve...原创 2019-05-04 23:42:53 · 2615 阅读 · 0 评论 -
龟兔赛跑 C++版
龟兔赛跑 C++版1.题意模拟一个龟兔赛跑的过程。题目链接如下:http://oj.kfcoding.com/problem/1-92.分析简单的模拟题,一遍遍的循环即可。如果兔子跑的距离l1,和乌龟跑的距离l2两者中任何一个超过了总距离l,则代表比赛结束。如果l1 - l2 >= t,则兔子休息s秒,但是乌龟继续跑。输出先跑完者即可3.代码#include<c...原创 2019-04-24 22:34:07 · 2571 阅读 · 0 评论 -
由后序遍历序列和中序遍历序列,构建二叉树【C++版】
由后序遍历序列和中序遍历序列,构建二叉树 【C++版】原创 2019-04-29 19:17:09 · 6444 阅读 · 2 评论 -
C++中如何创建一个二维的队列?
C++中如何创建一个二维的队列?1.代码如下#include<cstdio>#include<queue>#include<iostream>using namespace std;int main(){ int N,M,K,Q; cin >> N >> M >> K >> Q; int i,...原创 2019-03-24 20:10:48 · 3125 阅读 · 0 评论 -
C++中 string 常用的函数
C++中string类的常用函数,这个类非常重要,面试题几乎都是考字符串和数据结构等内容,所以掌握好其基本的API函数也是非常重要的。原创 2019-03-31 22:40:07 · 521 阅读 · 0 评论 -
C++ 中define的使用详解
C++中define的使用详解1.代码如下#include<cstdio>#include<iostream>#define max(a,b) ((a)>(b)? (a): (b))using namespace std;int main(){ int a = 2; int b = 2; int n = max(a,b); printf("n ...原创 2019-04-01 12:15:44 · 4476 阅读 · 0 评论 -
C指针详解
C指针详解。本文彻底搞清楚到底该以什么样的方式定义指针,使用指针?方便快速的访问指针?原创 2019-03-28 10:09:58 · 509 阅读 · 0 评论 -
sort函数中使用greater<int>()和less<int>()
C++中 sort函数中使用greater<int>()和less<int>()1.需求sort函数中使用greater<int>()和less<int>()2.实现#include<cstdio>#include<iostream>#include<algorithm>#include<fun...原创 2019-03-29 10:24:01 · 2639 阅读 · 1 评论 -
FJ的字符串
FJ的字符串1.题目1.1 题目链接http://oj.kfcoding.com/problem/1-3截图如下:2.代码#include<cstdio>#include<iostream>#include<cstring> using namespace std;int main(){ int N; char start = 'A'...原创 2019-04-08 18:19:55 · 313 阅读 · 0 评论 -
动态建二叉搜索树,并更新树高
动态建二叉搜索树,并更新树高 C++版1.需求动态建二叉搜索树,并更新树高。2.分析建立二叉搜索树是很简单的。更新树高也很简单,我们只需要在插入值之后动态更新当前root的高度即可。3.代码#include<cstdio> #include<iostream>#define maxn 100using namespace std;int N ;st...原创 2019-05-10 19:16:38 · 883 阅读 · 0 评论 -
矩形面积交
矩形面积交1.题目http://oj.kfcoding.com/problem/1-122.简介3.分析求出相交的x轴长度;相交的y轴长度。然后输出面积值。因为x轴和y轴是相同的,所以我们可以按照一种方式计算出x轴的相交长度,同样的函数调用,就可以得到y轴的相交长度。根据上述的分析,代码如下:4.代码#include<cstdio>#include<io...原创 2019-05-19 20:09:15 · 1984 阅读 · 3 评论 -
将vector中的元素使用sort排序
【C++】将vector中的元素使用sort排序原创 2019-05-06 20:49:09 · 2369 阅读 · 0 评论 -
switch语法 C++版
switch语法 C++版1.switch语法好久没有写switch了,竟然还差点儿忘记了。<( ̄ ﹌  ̄)>2.简单示例#include <iostream>#include <cstdio>using namespace std;int main(){ int type; cin >> type; switch(typ...原创 2019-05-06 19:29:31 · 3281 阅读 · 0 评论 -
判断二叉树是否是平衡二叉树【C++版】
判断二叉树是否是平衡二叉树【C++版】1.题意给出一个BST的先序遍历序列,你需要判断这个BST是否是平衡二叉树。2.分析step 1: 根据BST的先序序列,我们可以构建一棵完整的BSTstep 2:根据得到的BST,我们可以使用递归的手法检查这棵树是否是一棵平衡二叉树,递归的思想如下:递归查找每个根节点的左子树的高度lLen,右子树高度rLen,然后判断这个abs(rLen-lL...原创 2019-05-01 14:40:01 · 2530 阅读 · 0 评论 -
由先序和中序序列构建一棵二叉树【C++版】
构建树的方法最后返回的结果是当前建树得到的根节点。主要的思想是递归建树。本题是锻炼递归编程和树结构的良好习题。原创 2019-04-30 20:41:37 · 5556 阅读 · 6 评论 -
如何使用非递归算法实现二叉排序树的建立
1.如何使用非递归算法实现二叉排序树的建立?原创 2017-04-28 16:58:13 · 2350 阅读 · 1 评论 -
[Error] cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string
[Error] cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string&lt;char&gt;}' through '...'1. 报错[Error] cannot pass objects of non-trivially-copyable type 'std::...原创 2019-01-18 20:46:40 · 9664 阅读 · 1 评论 -
Dev C++ 调试闪退
Dev C++ 调试闪退1.问题安装dev c++这个软件之后,运行在windows中,开启调试功能时,遇到闪退。2.解决办法原创 2019-01-18 20:56:59 · 16392 阅读 · 11 评论 -
PAT刷题之段错误
PAT刷题之段错误【updating…】1.什么是段错误?先给出一张图,所谓的段错误就是:Segmentation fault在提交 pat 的一道题时,出现了这个段错误。其实更具体的报错是:Program received signal SIGSEGV,Segmentation fault.我尝试使用不同的测试用例调试时,发现的确存在这个问题,如下:2.如何解决?可能是程序...原创 2019-01-19 10:00:03 · 6119 阅读 · 0 评论 -
C/C++语言中常见问题系列2
C/C++语言中常见问题系列2原创 2019-01-19 12:16:02 · 313 阅读 · 0 评论 -
C++中函数的编译
C++中函数的编译1.计算机在处理一个.cpp文件时,先找到main()函数,进入并执行。如果main()函数中需要调用函数,则再进入调用的函数中执行。 2.也就是说函数并非是预编译,而是动态编译。原创 2018-01-17 14:23:38 · 494 阅读 · 0 评论 -
C语言中数组初始化操作
C语言中数组初始化操作1.使用memset对数组进行初始化 2.写一个函数,在函数中进行数组的初始化。 3.坑点: - 不能直接使用int array[maxn] = {-1}来对数组进行初始化,这样得到的数组中的值并非是-1 4. 程序代码如下:#include#include#define maxn 10int array1[maxn]={-1}; vo原创 2018-01-17 10:37:02 · 2708 阅读 · 0 评论 -
简谈C语言编译运行时的栈
C语言中编译运行时的栈原创 2017-04-22 08:08:49 · 2924 阅读 · 0 评论 -
C语言中递归常见错误解析(1)
C语言中递归常见错误解析(1)原创 2017-04-19 21:40:19 · 2520 阅读 · 0 评论 -
软件测试方法
软件测试原创 2017-04-22 10:56:33 · 1202 阅读 · 0 评论 -
简谈C语言中的scanf()输入函数的坑点之一
1.序言有句话说:出来混的,迟早都要还的。现在写的这个内容本是大一的时候早就 应该弄清楚的,但是直到现在,我才若有所悟(或许现在的理解也是错误的,但是我觉得这个不要紧,因为我心里已经有了正确答案。因为这一生就是一个不断学习的过程,不断重新认知的一个过程。)今天在写一道pat题时,遇到一个问题,就是输入的数据和输出的数据不匹配,我就在思考这个问题,因为之前也有遇到这样的情况,我当时也就是匆匆原创 2017-04-20 22:21:56 · 4818 阅读 · 5 评论 -
C++中map的使用
一.map的使用在C++中,map表示键值对的映射。主要注意以下几个方面: 1.使用如下语句判断键tempName是否在map中, if( mp.find(tempName) == mp.end()){} 2. 使用hash表将字符串对应成int型变量,代码如下: #include#include#include #define maxn 10000using names原创 2018-01-14 08:35:15 · 534 阅读 · 0 评论 -
C++中set的使用
1.set只能通过迭代器访问,例子如下:#include #include #include #include #define maxn 10000using namespace std;//求出name所对应的下标 int getIndex(string str){ int i; int index = 0;//str所对应的下标 for(i原创 2018-01-14 10:27:38 · 1706 阅读 · 1 评论 -
C/C++语言中常见问题1
C/C++语言中常见问题系列1因为时常会编写C/C++程序,但是总是会被一些莫名的问题困扰,这里就详细的总结出来。1.求字符串的长度strlen#include <stdio.h>#include <string.h>#define maxn 100int main(){ char str[maxn]; scanf("%s",&str);...原创 2018-01-03 11:41:16 · 1224 阅读 · 1 评论