C++笔记
cloudless_sky
快乐coder
展开
-
scanf,printf的常见格式
scanf("%d%d",&a,&b);scanf("%d,%lf,%c",%a,&b,&c);scanf("%s",str);double型输入时形式为lf,输出时形式为f。&是取地址符,str不用加取地址运算符,是因为数组名称本身就代表了这个数组的第一个元素的地址。scanf一般以空白(空格,tab)结束读取,但是%c可以读空白字符。printf("%d\n%f\n",a,b);printf("%5d\n",a);可以使得不足5位的int 型原创 2021-04-04 22:14:12 · 678 阅读 · 0 评论 -
oj输入输出--字符串流,不告知行数
输入未知行整数,整数之间用空格隔开;#include<iostream>using namespace std;int main(){ int n; while(cin>>n){ int sum=0; sum+=n; while(cin.get()!='\n'){ int k=0; cin>>k; sum+=k;原创 2021-04-01 16:19:56 · 244 阅读 · 0 评论 -
cin、cin.get()、cin.getline()、getline()的区别
点击转载转载 2021-04-01 14:36:53 · 84 阅读 · 0 评论 -
ASCII码
ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。产生原因:在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存原创 2021-03-16 13:04:52 · 466 阅读 · 0 评论 -
sort函数的时间、空间复杂度
sort函数进行排序的时间复杂度为n*log2n。原理:不是简单的快排 STL的sort()算法,数据量大时采用Quick Sort,分段递归排序,一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负荷,就改用Insertion Sort。如果递归层次过深,还会改用Heap Sort。空间复杂度嘛,我还不清楚,待补充。...原创 2021-03-04 21:30:55 · 13796 阅读 · 1 评论 -
数组太大要定义成全局的
数组为什么不能定义太大堆栈大小转载 2021-03-04 11:43:06 · 727 阅读 · 1 评论 -
C与C++一些输出格式上的区别
1、强制转换mid从double到intdouble mid;int mid1=int(mid);2、想要得到double类型的mid,由于a[n]是int型,为了不丢失小数点后的精度mid=(a[n/2-1]+a[n/2])/2.0;或者mid=double((a[n/2-1]+a[n/2]))/2;`3、输入 输出确定的几位小数scanf("%d",&n); double mid; int mid1=int(mid);printf("%d %.1f %d",max,mid,原创 2021-03-02 21:15:26 · 318 阅读 · 0 评论 -
C++ 二进制、十进制、八进制和十六进制转换的函数
#include <iostream>#include<fstream>#include<bitset> using namespace std;int main(){ int x; cout<<" 请输入要转换的十进制数字:"<<endl; cin>>x; cout<<" 二进制"<<bitset<8>(x)<<endl; //输出为八位二进制数 cout<原创 2021-02-10 20:23:49 · 2231 阅读 · 0 评论 -
CCF 201312-3 最大的矩形 C++ 没全懂
暴力解法100分:对于每个矩形都作为一次左边界,依次加入右边的矩形,并根据后面矩形的高度调整矩形的宽,并比较当前矩形的面积是否变大。//矩形最大面积暴力解法 #include <iostream>using namespace std;int main(){ int n,low,ans=0; cin >> n; int a[n]; for(int i=0;i<n;i++) { cin >> a[i]; } for(int i=0;i&.原创 2021-01-16 19:18:55 · 151 阅读 · 0 评论 -
杭电oj 2039 C++ 三角形
#include <iostream>using namespace std;int main(){ int M; double A,B,C; cin >> M; while(M--) { cin >> A >> B >> C; if((A+B>C)&&(A+C>B)&&(B+C>A)) cou.原创 2021-01-04 16:09:52 · 113 阅读 · 0 评论 -
杭电oj 2010-2011
2010 水仙花数#include <iostream>#include <cmath>using namespace std;int main(){ int m,n; int a,b,c; while(cin >> m >> n) { bool flag = false; if(m>n) swap(m,n); if(m<100 || n>999) br原创 2021-01-04 15:59:17 · 110 阅读 · 1 评论 -
杭电oj 2007-2008-2009
2007 平方和与立方和#include <iostream>#include <cmath>using namespace std;int main(){ int x,y; int s1=0; int s2=0; while(cin >> x >> y) { if(x>y) swap(x,y); for(int i=x;i<=y;i++) {原创 2021-01-04 15:18:37 · 93 阅读 · 0 评论 -
杭电oj 2004-2005-2006 C++
2004 成绩转换,把百分制转换成等级#include <iostream>using namespace std;int main(){ int t; while(cin >> t) { if(t<0 || t>100) cout << "Score is error!" << endl; else if(t>=90 && t<=100原创 2021-01-04 14:32:54 · 121 阅读 · 0 评论 -
杭电oj 2003 C++ 求绝对值
#include <iostream>#include <cmath>#include <iomanip>using namespace std;int main(){ double a; while(cin >> a) { cout << fixed << setprecision(2) << fabs(a) << endl; } return 0;}.原创 2021-01-04 13:47:53 · 172 阅读 · 0 评论 -
杭电oj 2002 C++
#include <iostream>#include <cmath>#include <iomanip>#define pi 3.1415927using namespace std;int main(){ double r,v; while(cin >> r) { v = 4 * pi * pow(r,3)/3; cout << fixed << setprecision(3).原创 2021-01-04 13:37:14 · 139 阅读 · 0 评论 -
杭电oj 2001 C++ 计算两点间的距离
#include <iostream>#include <cmath>#include <iomanip>using namespace std;int main(){ double x1,y1,x2,y2,dist; while(cin >> x1 >> y1 >> x2 >> y2) { dist = sqrt(pow(x1-x2,2)+pow(y1-y2,2)); .原创 2021-01-04 13:18:29 · 204 阅读 · 0 评论 -
杭电oj 2000 C++
#include <iostream>using namespace std;int main(){ char input[3]; while(cin >> input[0] >> input[1] >> input[2]) { if(input[0]>input[1]) swap(input[0],input[1]);//swap包含在std中 if(input[0]>input[.原创 2021-01-04 13:10:40 · 164 阅读 · 0 评论 -
C++ 输入输出函数
要使用输入输出函数,首先要:#include <iostream>using namespace std;C++使用一个预处理器,该程序在进行主编译之前对源文件进行处理,它处理以#开头的编译指令,不必执行任何特殊的操作来调用该预处理器,它会在编译程序时自动运行。第一行是编译指令,它导致预处理器将iostream头文件的内容添加到程序中,iostream文件的内容随源代码文件的内容一起被发送给编译器。实际上,iostream文件的内容将取代程序中的第一行代码。第二行是using编译指令原创 2021-01-04 11:37:11 · 5539 阅读 · 0 评论 -
杭电oj 1089 1090 1091 1092 1093 1094 1095 1096 输入输出 C++
1089#include <iostream>using namespace std;int main(){ int a,b; while(cin>>a>>b) { cout << a+b << endl; } return 0;}里插入代码片1090#include <iostream>using namespace std;int main(){原创 2021-01-03 20:04:41 · 399 阅读 · 0 评论 -
杭电oj 1002 C++
加数太长,普通的基本类型无法满足,用string类型,将其char数位逐位相加。char字符以ASCII的形式存储,两个char字符相加,实际是它们的ASCII相加。两个char字符相加后,如果直接输出,则是它们ASCII的和,想要输出对应的字符,必须将结果赋值给char类型的变量,或者强制转换为char类型。两个数字字符相加后,如果想输出整数状态下的结果,需要减去0的ASCII,即减去‘0’【对于ASCLL的内部计算和外部显示仍然不太明白,待学习】。注意输出格式,每个结果之间要有空行,最后一个结果输出后.原创 2021-01-02 11:40:02 · 261 阅读 · 0 评论 -
杭电oj 1000 1001 C++
1000#include <iostream>int main(){ using namespace std; int a,b; while(cin>>a>>b) { cout << a+b << endl; } return 0; }1001#include <iostream>int main(){ using namespace s原创 2021-01-02 11:12:19 · 198 阅读 · 0 评论 -
左叶子之和
计算给定二叉树的所有左叶子之和。示例:在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-left-leaves著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:先序递归。这道题的重点在于如何判断是左边的叶子。如果左孩子不空且它是叶子节点就加和,否则如果左孩子空则去遍历右孩子,如果左孩子不空但是不是叶子节点就继续遍历左右孩子。/** *原创 2020-12-29 15:45:18 · 160 阅读 · 0 评论 -
两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有转载 2020-12-29 14:34:07 · 69 阅读 · 0 评论 -
青蛙跳台阶问题
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1递归算法:43时会超时class Solution {public: int numWays(int n) { if(n==0 || n==1)原创 2020-12-29 14:15:44 · 140 阅读 · 0 评论 -
leetcode刷题--简单题1比特与2比特字符
第一题 1比特与2比特字符有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。示例 1:输入:bits = [1, 0, 0]输出: True解释:唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/1-bit-and-原创 2020-12-28 21:15:32 · 216 阅读 · 0 评论 -
**C++ 用类封装 pthread
C++ 用类封装 pthread转载https://blog.csdn.net/wangzhiyu1980/article/details/43984465一个项目中需要用到pthread,发现把它封装到类中使用起来更加的方便。这里保存了实例代码,以备以后使用。头文件中定义了ThreadBase类,它包含了线程基本的一些接口,start() join() 和quit()run()为接口...转载 2020-03-17 18:31:24 · 360 阅读 · 0 评论