c++入门
c++的入门环节
小浣熊的博客
学而不思则罔,思而不学则殆
展开
-
c++递推详解
思路:我们先来解读一下题意,我们知道斐波那契数列是1,1,2,3,5,8,13……他的每一个数都等于前两个数之和,然后我们就可以看一下样例输入,样例输入是6,根据上面的数列,我们很容易看出febnaqi数列的第六位是8了。关于递推,有一些题型是让你自己找数字中的规律,进而找出递推关系式,而还有些题是告诉你了递推关系式,让你自己去地推。好了,知道了递推关系式,我们就可以把过程编出来了,首先我们要定义一个变量n和用于推演的a数组,然后输入n:。可是,重点来了,我们怎么知道数组的第几项是几呢。原创 2023-07-14 09:18:42 · 358 阅读 · 0 评论 -
c++详解二分查找
第四步,也是最重要的一步:我们首先判断这个数是大于a[mid]还是小于a[mid],因为数组已经有序,如果大于说明a[mid]项以下包括a[mid]都不可能是value。我们就不考虑mid项以下的情况了,就把left左指针更改为mid+1(mid不可能是我们找的那个数)。对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近。第三步:编写结束条件,如果a[mid]==value就说明找到了,返回位置,也就是mid。原创 2024-02-23 21:28:57 · 780 阅读 · 0 评论 -
c++时间复杂度详解
熟悉二分算法的人都知道,二分算法最慢的要运行2分之一n次。原来,在计算时间复杂度的时候,普遍使用最不理想的运算次数。其他的都一样,不过要注意的是,时间复杂度一般都只用字母来表示,如果你发现你的时间复杂度有数字(除平方外),比如什么O(3+n),O(n-4)什么的。该来的总是来了,这个程序是递归,怎么算时间复杂度呢?,它定性描述该算法的运行时间。所以这个程序会运行n次,也就是O(n)了~~~O(n^2),因为程序执行了n的平方次。看完了基础的,我们来康康进阶的。中,时间复杂性,又称时间复杂度,原创 2024-01-16 09:33:26 · 529 阅读 · 0 评论 -
c++详解栈
堆栈又名栈(stack),它是一种运算受限的数据结构(线性表),只不过他和数组不同,数组我们可以想象成一个装巧克力的盒子,你想拿一块巧克力,不需要改变其他巧克力的位置,而栈就相当于是一个只有上方有一个口且宽度只能容纳一块巧克力的盒子,如图:那如果我们想拿最下面的巧克力该怎么办呢?就需要把这颗巧克力上面的所有巧克力都取出,这样才能取出最下面的巧克力。我们可以把栈想象成是一个封了底的数组,要想拿走一个值就需要把它上面的所有值都取出,同理,如果我们想加入一个数据,也只能加到栈的最顶端。这就是栈。原创 2023-12-08 18:02:14 · 287 阅读 · 1 评论 -
c++出现[Error] conflicting declaration ***之类的问题怎么办?
遇到这种错误,那么一定是说明你的变量被重复定义了,比如说你先定义了一个int a,然后又定义了一个int a[100];那么程序就会报: [Error] conflicting declaration 'int a [100]',就是因为你定义了两个名字相同的数据类型。这个程序中名为sum的变量定义了两个,所以我们应该把int的sum或char的sum中一个的变量名换成不与其他变量名冲突的,就可以很好的解决这一问题了!这个程序把int类型的变量名又sum改为了cnt,变量名不冲突,也就不会报错了!原创 2023-10-13 19:29:30 · 2027 阅读 · 0 评论 -
c++算术运算符详解
注意:++也可以放在变量的前面,只不过放在前面是先++再执行这行程序,而后面++则表示先执行这行程序再++。a++和a=a+1是等价的,就是把a的值+1。而--是c++的递减函数。a--和a=a-1也是等价的,同样就是把a的值-1。因为第一个实现运行完了程序再将a++的。所以输出没有变,而第二个是先将a++再执行这行程序,所以输出会变。这几个运算符应该不用多讲,+就是数学里的+,-就是数学里的-,*就是数学里的×,/就是数学里的÷。算术运算符分为+,-,*,/,%,++,-- 7种。原创 2023-07-09 14:34:26 · 357 阅读 · 1 评论 -
c++头文件
这个头文件就是属于很多人也都知道的头文件,看到这个头文件,你们有没有发现什么?对了,就是这个头文件string基本都是由其他的头文件组成的,什么等等的头文件。引入头文件就相当于把这个头文件拥有了其他头文件的能力,这个能力指的就是其他头文件定义的函数,数据类型等。答案是肯定的,因为它里面的一些函数如static,extern,namespace等函数也需要引入头文件,因为里面定义函数的过程过于深奥,所以不在这里过多讲述。原创 2023-07-05 17:54:01 · 171 阅读 · 3 评论 -
c++详解递归
倒数第二行就是递归语句,他是在函数里调用了这个函数,也就是递归。首先看第一行,是定义一个函数,没有任何问题,第二行就用了一个*=,也没有任何问题。首先递归算法是在函数内进行的,没有函数就没有递归。首先递归需要一个递归语句,其中的参数可以是0个,也可以是多个。这要视递归的函数有几个参数而定。递归对于新手来说是一种很难的算法,所以我们要深刻的了解它。第三行的判断是干什么的呢?那么第三行也就是一个跳出语句,没有任何问题。下面是一个递归代码,让我带着大家详细了解一下递归。递归就是这样了,你们明白了吗?原创 2023-07-04 10:13:17 · 300 阅读 · 2 评论 -
c++switch语句用法
不比如就上面的而言,如果表达式=常量1,那我就执行语句1……如果表达式不等于常量1,常量2和常量3的话,就执行default后面的语句n;然后跳出(break。这里要注意哦:switch语句不会当出现符合条件时自动退出语句,所以需要一个break。不然default后面的也会输出出来的。这个程序就是如果输入为几就输出对应的英文单词,充分的运用了switch。看到格式就可以知道他是一个多分支语句,而且可以支持嵌套。switch是c++标准库函数,定义格式如下:?关于switch,你明白了吗。原创 2023-06-30 15:49:36 · 2884 阅读 · 1 评论 -
深度搜索算法——走迷宫
题目要求:输入一个数n。接着输入一个n行n列的迷宫。0代表可以走,1代表不能走,2代表唐僧的位置。如果悟空能碰到唐僧,输出yes,否则输出no。这道题的解题关键就是要抓清深搜的精髓——回溯,然后就十分好解了。原创 2023-06-30 08:49:42 · 175 阅读 · 8 评论 -
c++常用程序模板,欢迎拷贝!
3. 判断一个数是否为质数函数。原创 2023-06-15 20:58:19 · 76 阅读 · 2 评论 -
c++出现 [Error] ** was not declared in this scope类似的问题怎么办?
就拿memset函数举例吧:memset需导入库或库,如果你调用了memset函数却不导入上面的头文件,同样也会报错。1.定义**数据类型语句的前一行没有写分号,而且你在程序中调用了他。因为第4行后面没有写分号,而且后面用了d++。2.在程序里调用的c++函数没有引进数据流。如果出现这个错误,有种可能。原创 2023-06-23 08:06:08 · 7256 阅读 · 0 评论 -
c++详解ASCLL码和类型转换
ascll码在c++里用于字符与数字,数字与字符的转换,就像上面的一样,假设char a=‘a’;那么上面a的ascll码就是a对应的97,巧妙地把‘a’变成了数字。因为他只是单纯的输出了a所代表的‘a’,并没有转换成数字。注意:int类型如果超过255就不在ASCLL码范围之内了,所以不要超过255.格式:要转换的数据类型int/char/bool……上面就是强行把char类型的数据转化为了int形的数据。类型转换是把一个类型的数转化成另一个类型的东西。同样的也可以用同样的方法把数字转成字符。原创 2023-05-14 20:20:33 · 5948 阅读 · 1 评论 -
c++基本数据类型和变量的定义方式
值域是指变量的取值范围,如int类型的变量就只能在-2147483648~2147483647之间,而short变量的取值范围在-32768 ~ 32767之间等等。整形数据,顾名思义就是只能存储整数的数据,他的特点就是不能存储小数,如果你把一个整形的变量赋值,他只会把它变成一个整数。字符型主要的就是char了,char型数据可以用来存放字符,也可以存放数字,不过输出的都是字符。浮点型数据主要有 float和double两种,顾名思义,就是可以存放小数的数据,整数,小数都可以放。多用于条件判断语句中。原创 2023-05-13 21:36:12 · 269 阅读 · 0 评论 -
c++常用输入函数
cin是c++十分普遍的输入函数,可以输出任何类型的变量,相比于scanf,他更简便,也更好记。因为他不需要加%什么什么,还有什么&。scanf是对于变量的输入函数,格式为scanf(“%d/s/f/8f/……”&要输入的变量)。这里是输入了一个char型的变量a。这个输入函数有一点不好的就是他只能输入char型的变量,格式有两种:。这里是输入了一个float型的变量a。这里是输入了一个double型的变量a。这里是输入了一个int型的变量a。(2)cin.get(变量名)(1)scanf的基本输入。原创 2023-05-15 21:16:16 · 613 阅读 · 0 评论 -
c++常用输出函数详解
上面的a是一个int形变量,但如果想输出一个字符型的变量,字符串等该怎么办呢?那我们就要把%后面改成不同的字母,下面是我给大家整理的表格,可供参考。这些都是printf的高级用法,①表示输出a变量后换行。③表示输出第一个a之后输出=,再输出一个a。①我觉得就没有什么好说的了,就是你想保留几位小数就在setprecision后面括号里写几就行了,非常的nice。②是把a以三个字符的宽度输出了。这回你信了吧,当然别有挑刺的,硬往这里面塞变量 ,那是肯定运行不过去的。就是把a以三个字符的宽度输出,也不难。原创 2023-06-21 19:56:57 · 4798 阅读 · 6 评论 -
c++如何输入一个数组,以回车结束。
关于如何输入一个数组,以会车结束这个问题,本人上网查了查,发现网上发布的方法要么就是不清楚要么就不对。于是本人今天给大家带来正确的方法(亲测)。上面两个代码看着没什么问题,其实漏洞百出,因为cin>>的输入是不读取回车符的,所以你再判断也找不出回车。原创 2023-05-24 19:58:55 · 3078 阅读 · 4 评论