![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
我是小白C++
我取名一般都很LOW的
一切自信皆源于自己的强大
展开
-
二分提升--搜索插入位置
class Solution {public: int searchInsert(vector<int>& nums, int target) { int h=nums.size()-1,l=0; if(nums[h]<target) return h+1; while(l<h){ int m=(h-l)/2+l;//取 ceiling if(nums[m]<t..原创 2021-10-18 16:31:04 · 133 阅读 · 0 评论 -
C++头文件整理
iostreamiostream 头文件主要包含了系统的标准输入输出函数以及数据的声明和定义cstdiocstdio使用流来操作物理设备如键盘,打印机,终端或者系统支持的其它类型的文件,也是标准输入输出库algorithmalgorithm 定义了一系列特别设计用于元素范围的函数,范围是可以通过迭代器或指针访问的任何对象序列,例如1数组和某些STL容器的实例,算法会直接通过迭代器对值进行操作,不会以任何方式影响任何可能容器的结构(大小或储存分配)cmath顾名思义进行数学运算,有取绝对值,取整原创 2021-02-08 15:05:27 · 578 阅读 · 0 评论 -
C/C++ 递归知识摘录
递归就是在定义函数的同时也使用了该函数本身,我们通过例子来体会:Example 1: 阶乘//阶乘#include<stdio.h>int factorial(unsigned int i){ if(i<=1){ return 1; } return i*factorial(i-1);} int main(){ printf("%d",factorial(5)); return 0;}输出:120To be continued…...原创 2021-02-01 10:04:58 · 519 阅读 · 0 评论 -
台阶问题(递推入门)
//递推思想#include<iostream>#include<cstdio>using namespace std;int a[100005], n, k;int main() { cin >> n >> k; a[0] = 1; //对前 k 阶随便跳(1 到 k 步) for (int i = 1;i <= k;i++) { for (int j = 0;j < i;j++) { a[i] += a[j]; .原创 2021-06-06 12:21:12 · 1365 阅读 · 0 评论 -
指针的 const 限定
指向常量数据的非常量指针int i,j,*q;const int *p;//指向常量整型的非常量整型指针p=&j;//允许,指针 p 可以变化*p=5;//不允许,因为指向的数据不可变q=p;//不允许,j 的位置不可以赋给别的指针!指向非常量数据的常量指针int var1,var2;int * const p=&var1;//一旦初始化赋值便不可被修改*p=5;//允许p=&var2;//不允许 补充:下面的操作不允许:const int var=10;原创 2021-04-25 09:36:49 · 194 阅读 · 0 评论 -
一帮一(结构练习)
#include<iostream>using namespace std;struct f{ int s; char na[10]; int fen;}r[60];int main(){ int num; cin>>num; for(int i=0;i<num;i++) {cin>>r[i].s>>r[i].na;r[i].fen=0;} for(int i=0;i<num-1;i++){ for(int j=num-.原创 2021-04-11 20:57:00 · 65 阅读 · 0 评论 -
考试座位号(结构训练)
#include<iostream>#include<cstdio>using namespace std;struct f{ char a[20]; int b,c;}g[1010];int main(){ int num; cin>>num; for(int i=0;i<num;i++) cin>>g[i].a>>g[i].b>>g[i].c; int num1; cin>>num1; .原创 2021-04-11 20:44:31 · 103 阅读 · 0 评论 -
C++ 文件知识点摘录
文件文件是存储在某种长期储存设备(磁盘、光盘等)上的一段数据流。C 语言中把文件看成一个有序的字节流,每个文件都以文件结束标志( EOF )结束。下图是包含 n 个字节的文件内容:磁盘文件由操作系统中的文件系统统一管理,也只有文件系统才能直接操作文件。所以编写 C 程序来操作文件实际上是需要调用文件系统的接口函数来进行,我们学习文件的操作也就是学习一些 C 语言库中提供的函数。文件类型C 语言在对文件进行操作时,将文件分为文本文件和二进制文件。文本文件:指可以用任何文字处理程序阅读和编辑的原创 2021-04-07 16:52:20 · 197 阅读 · 0 评论 -
一个程序入门 C++ 文件
使用FILE结构FILE 结构是cstdio 头文件自带的结构,一般定义 FILE* 形指针 f 对文件进行操作下面我要将一组数据写入文件 a.txt,并且读取出来,程序运行之后原则上当前文件夹会多出一个文件“a.txt”,并且储存有我写入的内容#include<iostream>#include<cstdio>//要包含此头文件#include<cstring>using namespace std;struct date{ int y,m,d;};原创 2021-04-07 17:17:41 · 73 阅读 · 0 评论 -
猜数字 超简单题
结构的简单应用:#include<iostream>#include<cstring>#include<cmath>using namespace std;struct f{ char name[20]; int n;}mem[10010];int main(){ int nu,sum=0; cin>>nu; for(int i=0;i<nu;i++){ cin>>mem[i].name>>mem[i.原创 2021-04-06 17:31:53 · 56 阅读 · 0 评论 -
英文单词排序
#include<iostream>#include<cstring>using namespace std;struct f{ char a[15]; int b;}c[25];int main(){ int n=0; while(cin.peek()!='#'){ cin.getline(c[n].a,15); c[n].b=strlen(c[n].a); n++; } for(int i=0;i<n-1;i++){ for(int .原创 2021-04-04 10:08:56 · 160 阅读 · 0 评论 -
一个程序了解链表的基本操作
基础请看:C++ 线性表知识点摘录目的:输入 num 的值,表示(整数 data)链表的长度,进而设计链表的基本函数实现链表的输入,输出,排序,删除特定元素的操作,具体解释请看注释~先看代码:#include<iostream>using namespace std;struct node{ int data; node*next;};//创建链表,实质是结构与指针的结合使用node*tailinsert(node*head,node*tmp);//尾部插入函数node*he原创 2021-03-31 19:18:23 · 86 阅读 · 0 评论 -
得到字符二进制码
#include<iostream>#include<cstdio>using namespace std;void printBinary(char x);int main() { char a[5] = "poiu"; for (int i = 0;i < 4;i++) { printBinary(a[i]); cout<<endl; } return 0;}void printBinary(char x) { char m =原创 2021-04-25 08:23:04 · 137 阅读 · 0 评论 -
找出总分最高的学生
#include<iostream>#include<cstring>using namespace std;struct f{ char hao[6]; char name[10]; int ji[5]; int sum;}ren[15];int main(){ int n; cin>>n; for(int i=0;i<n;i++){ cin>>ren[i].hao>>ren[i].name>>re.原创 2021-04-07 17:19:13 · 379 阅读 · 0 评论 -
求一批整数中出现次数最多的个位数字
#include<iostream>using namespace std;int main(){ int n,a[1010]; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; int b[10]={0}; for(int i=0;i<n;i++){ if(a[i]==0) b[0]++; else{ while(a[i]){ b[a[i]%10]++; a[i]/=10; }.原创 2021-04-04 10:47:13 · 98 阅读 · 0 评论 -
字符串的循环左移
#include<iostream>#include<cstring>using namespace std;int main(){ char a[110]; int n,flag; cin.getline(a,110); cin>>n; int l=strlen(a); for(int i=0;i<l;i++){ for(int j=0;j<l;j++){ flag=j; if(flag-n<0) flag+=l;.原创 2021-03-27 16:46:21 · 100 阅读 · 0 评论 -
删除字符串中的子串
先构造一个子串的删除函数(一次只删除一个):#include<iostream>#include<cstring>using namespace std;void del(char s[],char m[]){ int we=strlen(m)+1; for(int i=0;i<strlen(m)-strlen(s);i++){ if(m[i]==s[0]){ bool flag=true; int e=i+1; for(int j=1;j&.原创 2021-03-25 19:23:42 · 828 阅读 · 0 评论 -
-装箱问题-
#include<iostream>using namespace std;int main(){ int n,a[1000][2]={0},b[1000]; cin>>n; for(int i=0;i<n;i++) cin>>a[i][0]; for(int i=0;i<n;i++) b[i]=100; int num=0; for(int i=0;i<n;i++){ int x=0; while(b[x]<a[i][0.原创 2021-03-25 19:00:13 · 83 阅读 · 0 评论 -
输出螺旋方阵
挺有意思的一道考验思维的题,讲解见注释啦!#include<iostream>using namespace std;int main(){ int n,a[15][15],x=0,y=0; cin>>n; int b1=n-1,b2=n-1,b3=0,b4=1,dir=1;//1,2,3,4 分别代表右边界,下边界,左边界,上边界,注意初始化要正确哟~(dir 数字对应的方向与边界遵循同样的规则) int c=1; while(c<=n*n){ if(d.原创 2021-03-25 18:46:10 · 140 阅读 · 0 评论 -
找出不是两个数组共有的元素
#include<iostream>#include<cstring>using namespace std;int main(){ int m,n,a[25],b[25],a0[25],b0[25]; cin>>m; for(int i=0;i<m;i++) cin>>a[i]; cin.get(); cin>>n; for(int i=0;i<n;i++) cin>>b[i]; int p=0; .原创 2021-03-25 18:11:19 · 183 阅读 · 0 评论 -
求最大值及其下标
#include<iostream>using namespace std;int main(){ int n,a[15]; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; int ma=a[0],flag=0; for(int i=1;i<n;i++){ if(a[i]>ma){ ma=a[i];flag=i; } } cout<<ma<<' '<<f.原创 2021-03-24 17:26:07 · 84 阅读 · 0 评论 -
数组元素循环右移问题
#include<iostream>using namespace std;int main(){ int n,y,a[110]; cin>>n>>y; for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(i==(j+y)%6 && i!=n-1) cout<<a[j]<<'.原创 2021-03-24 17:17:53 · 52 阅读 · 0 评论 -
素因子分解
#include<iostream>#include<cmath>using namespace std;bool iss(long int n){//判断素数 if(n==2 || n==3) return true; if(n%2==0 && n!=2) return false; for(int i=2;i<=sqrt(n);i++){ if(n%i==0) return false; } return true;}int mai.原创 2021-03-24 16:58:26 · 287 阅读 · 0 评论 -
自行实现一些 C++ 自带的字符串操作函数
输出效果如下:代码如下(自己定义 cstring 中的 strlen,strcpy,strcat,strcmp,strchr,strstr 函数并调用):#include<iostream>#include<cstring>using namespace std;//计算字符串的长度(元素个数)int strlen0(const char *a){ const char *p=a; while(*p!='\0') p++; return p-a;}//拷贝字符原创 2021-03-22 16:45:55 · 97 阅读 · 0 评论 -
C++ 线性表知识点摘录
线性表(linear list)是一种数据结构,是由 n 个具有相同特性的数据元素构成的序列。线性表中元素的个数 n 即为线性表的长度,当 n = 0 时称为空表。线性表的相邻元素之间存在着序偶关系。如用( a[0] ,…… ,a[i-1] ,a[i] ,a[i+1] ,…… ,a[n-1] )表示一个线性表,则称 a[i-1] 是 a[i] 的前驱,a[i+1] 是 a[i] 的后继。线性表的特性线性表中必存在唯一的一个“第一元素”;线性表中必存在唯一的一个“最后元素” ;除最后原创 2021-03-22 14:31:44 · 312 阅读 · 2 评论 -
用递归思想轻松实现字符串的倒序输出
如题目所言,代码如下:#include<iostream>using namespace std;void reverse(){ char a; cin>>a; if(a!='*') reverse();//在这里递归 if(a!='*') cout<<a;//跳出递归就来到这里}int main(){ reverse(); return 0;}分析(堆砌语言):输入放在函数体中,递归是一种选择结构,这里我们定义一个字符,我们输入的字符串要以原创 2021-03-22 00:17:31 · 1140 阅读 · 0 评论 -
刮刮彩票叭
用了好多判断语句(裂开)。。。#include<iostream>#include<cstdio>using namespace std;int main(){ int ge[5][5],gua[5][3],kai; for(int i=1;i<4;i++){ for(int j=1;j<4;j++){ cin>>ge[i][j]; } } for(int i=0;i<3;i++){ for(int j=0;j<.原创 2021-03-21 13:08:56 · 123 阅读 · 0 评论 -
吃火锅啦LA
2字符串的处理问题,我还是迷迷糊糊:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<string.h>using namespace std;int main(){ int num=0,a[110],b[110],n=0; char check[50]="chi1 huo3 guo1"; while(1){ char a原创 2021-03-21 13:00:02 · 139 阅读 · 0 评论 -
Z胎压监测
我这里将两种情况(气压差高于阈值与气压值低于最低要求)分开讨论了#include<iostream>#include<cstdio>using namespace std;int main(){ int ty[5]={0},mi,yu,tst1[5]={0},num1=0,num2=0,cha[5]={0},tst2[5]={0}; for(int i=1;i<5;i++) cin>>ty[i]; cin>>mi>>yu; .原创 2021-03-21 12:52:08 · 165 阅读 · 2 评论 -
字符串测试01
#include<iostream>#include<cstdio>#include<cstring>using namespace std;void max(char a[],char b[],char c[]){ if(strcmp(a,b)>0){ int i=0; while(i<strlen(a)){ c[i]=a[i]; i++; } c[i]='\0'; } else{ int i=0; whi.原创 2021-03-21 12:46:23 · 704 阅读 · 0 评论 -
A洛希极限
读懂题意读懂题意读懂题意#include<iostream>#include<cstdio>using namespace std;int main(){ double a,c,aide,ti; int b; bool f=false; cin>>a>>b>>c; if(b==0) ti=2.455; else ti=1.26; aide=ti*a; if(aide>=c) f=true; if(f){.原创 2021-03-21 12:42:52 · 211 阅读 · 0 评论 -
求球体体积
#include<iostream>#include<cstdio>using namespace std;int main(){ double v,r,p=3.14159; cin>>r; v=4*p*r*r*r/3; printf("v=%.2lf\n",v); return 0;}原创 2021-03-21 12:38:27 · 236 阅读 · 0 评论 -
佩奇敲笨钟
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int main(){ int n; cin>>n; getchar();//注意注意!!吸收整数后面的空格,关键的一步 for(int i=0;i<n;i++){ string a; getline(cin,a);//输入字符串方式(含空格) int len=a.length(),f.原创 2021-03-20 08:52:07 · 51 阅读 · 0 评论 -
判断(长整型)素数
#include<iostream>#include<cmath>using namespace std;bool iss(long long n){ if(n==2 || n==3) return true; else if(n%2==0 || n==1) return false; else{ for(int i=2;i<=sqrt(n);i++){ if(n%i==0) return false; } return true; }}i.原创 2021-03-18 23:37:52 · 221 阅读 · 0 评论 -
求 n 以内最大的 k 个素数以及它们的和
#include<iostream>#include<cmath>using namespace std;bool iss(int n){ if(n==2 || n==3) return true; else if(n%2==0) return false; else{ for(int i=2;i<=sqrt(n);i++){ if(n%i==0) return false; } return true; }}int main(){ in.原创 2021-03-18 23:27:17 · 149 阅读 · 0 评论 -
切分表达式-----写个 tokenizer 吧
一开始忽略了区分负号与减号,未通过!:#include<iostream>#include<cstring>using namespace std;int main(){ char a[50]; cin>>a; for(int i=0;i<strlen(a)-1;i++){ cout<<a[i]; if(a[i]>='0' && a[i]<='9' && a[i+1]>='0' &.原创 2021-03-18 23:12:19 · 245 阅读 · 0 评论 -
圆形体体积计算器
#include<iostream>#define pi 3.1415926535using namespace std;int main(){ int n; double r,h; while(1){ cout<<"1-Ball"<<endl<<"2-Cylinder"<<endl<<"3-Cone"<<endl<<"other-Exit"<<endl<<"Please.原创 2021-03-18 22:31:01 · 183 阅读 · 0 评论 -
近似求 PI
#include<iostream>#include<cmath>using namespace std;double f(int n){ if(n==1 || n==0) return 1; else return n*f(n-1);}double g(int n){//注意这个函数别搞错了 if(n==0) return 1; else return g(n-1)*(2*n+1);}int main(){ double j,p=2; int i=0;.原创 2021-03-18 19:27:47 · 58 阅读 · 0 评论 -
B求幂之和
#include<iostream>#include<cmath>using namespace std;int main(){ int n,sum=0; cin>>n; for(int i=1;i<=n;i++) sum+=pow(2,i); cout<<"result = "<<sum; return 0;}原创 2021-03-18 18:35:34 · 204 阅读 · 0 评论 -
素数对猜想
#include<iostream>#include<cmath>using namespace std;bool f(int n){ if(n%2==0) return false; else if(n==3) return true; else{ for(int i=2;i<=sqrt(n);i++){ if(n%i==0) return false; } return true; }}int main(){ int n,num=0;.原创 2021-03-18 16:38:20 · 38 阅读 · 0 评论