- 博客(27)
- 收藏
- 关注
原创 类和对象(中)
讨论: 关于编译器生成的默认成员函数,很多童鞋会有疑惑:不实现构造函数的情况下,编译器会生成默认的构造函数。但是看起来默认构造函数又没什么用?d对象调用了编译器生成的默认构造函数,但是d对象_year/_month/_day,依旧是随机值。也就说在这里编译器生成的默认构造函数并没有什么用??
2024-06-16 16:53:34
995
原创 关于“旋转字符串”的两种解题方法
前面的1,2,3,4也倒置成4,3,2,1.这样就变成了4,3,2,1,7,6,5.再将整体倒置,我们发现,就变成了5,6,7,1,2,3,4,这不就是我们想要的结果吗?这里有两种代码实现,共同思路都是后三个元素:5,6,7放到临时数组变量的前三个,再将前面的1,2,3,4,5放到后面,要注意k的值可能比数组元素个数大,所以我们要求出实际要旋转的个数,即k=k-(k/n)*n。
2024-04-26 20:30:00
214
2
原创 双向带头循环链表的接口函数实现
/指定位置之后插入。void LTNInsertAfter(LTNode* pos, DataType x)//指定位置之后插入。void LTNPushFront(LTNode* phead, DataType x)//头插。void LTNPushBack(LTNode* phead, DataType x)//尾插。LTNode* LTNFInd(LTNode* phead, DataType x)//查找。void LTNInit(LTNode** phead)//初始化,创建头结点。
2024-04-15 17:19:14
697
原创 单链表接口函数的实现(增删查改)
void SLTInsert(SLTNODE** phead, SLTNODE* pos, DataType x)//待定位置之前的插入。void SLTErase(SLTNODE** phead, SLTNODE* pos)//删除待定节点。void SLTPushFront(SLTNODE** phead, DataType x)//头插。SLTNODE* SLTFind(SLTNODE* phead, DataType x)//查找。
2024-04-15 16:54:53
847
1
原创 动态顺序表的接口函数的实现(增删查改)
动态顺序表就是要讲究容量足够用,即每次存储的个数达到了容量大小时,顺序表都能将容量扩大,而size就代表着存储个数的大小,capacity代表顺序表的容量大小,当两者相等时,我们给出一个新的容量newcapacity,给其赋为原来容量的2倍,如果原容量为0,那就赋为4,此操作通过三目运算符实现。关于插入数据,首先要想到ps->size是已经存储到的个数,同时也是我们要新插入数据的下标,其次还要考虑到我们插入数据后,是否会超出容量,所以需要对是否需要扩容进行判断。3.顺序表的检查扩容。8.顺序表的随机插入。
2024-04-05 19:37:47
290
1
原创 【字符串左旋右旋不会做?快来看看这篇“弹幕滚动”,你就有思路了!】
不知道大家在做题时有没有遇到过“字符串旋转”的题目,很多人可能没有思路,这里我不具体讲解单一的题目,而是展现一个“弹幕滚动”的示例,相信大家看懂后就能做出“字符串旋转”的题了!2.另创变量cnt,打头元素靠他变,末尾元素照不误int i;for (i = 0;i < len;i++)else。
2024-03-02 21:17:22
484
4
原创 【利用clock函数操纵时间,以及让程序暂停运行】
不知道大家有没有注意到,很多时候我们在运行代码时内容会直接显示出来,但有时候我们又想让某段内容延迟出现,以达到想要的效果,并且还有些时候我们想将某段代码运行所用的时间记录显示出来,这都要用到clock函数。
2024-02-26 22:15:00
517
1
原创 c语言数组和函数实践:扫雷游戏(初阶)
• 使⽤控制台实现经典的扫雷游戏• 游戏可以通过菜单实现继续玩或者退出游戏• 扫雷的棋盘是9*9的格⼦ • 默认随机布置10个雷• 可以排查雷 ◦ 如果位置不是雷,就显⽰周围有⼏个雷 ◦ 如果位置是雷,就炸死游戏结束 ◦ 把除10个雷之外的所有⾮雷都找出来,排雷成功,游戏结束 说到9*9的扫雷,首先浮入脑海的一定是一个9*9规格的棋盘,我们在这个棋盘上每排查一个坐标,如果是雷就结束游戏,不是雷的话就显示此坐标周围有几个雷。如图: 但是你有没有想过,计算机是如何得知周围有几个雷的呢?只靠在我们眼前的棋盘
2023-12-13 21:40:51
2255
原创 数组练习之:字符跳动显现字符
他可以清除之前显示的内容,让你的屏幕始终只显示一行慢慢变换的结果,更能体现出过程的变化性。诚然,只靠上述的代码就足以实现开头的效果图了,但它分明是不够完美的,你会发现,程序显示结果的速度太快了,以至于一次性就在屏幕上显示出了所有的流程,观赏度不行,我们想要每一步的程序显示得慢一些,以体现字符是从两端向中间“跳动”的过程,可以利用。那是因为你只看到了我这篇代码要显示的字符串,为了保证代码的通用性(可以显示不同长度的字符串),我们就不规定数组的大小,毕竟我们不知道你每一次想要显示的字符串有多少个字符嘛。
2023-12-05 17:09:45
908
原创 综合运用分支与循环结构、函数调用以及数组来完成猜数游戏(1)编写前要掌握的知识
1.已经学完标题内容的初学者们,如果你们迫不及待地想要巩固自己学到的这些知识,相信猜数游戏定能满足一二。2.我们先来设想一下,我们玩猜数游戏的时候,电脑会给定一个目标数让我们猜,我们通过键盘输入一个数,如果这个数大于目标数,就提示偏大,小于目标数就提示偏小,由此我们初步写出如下代码。这是我们初步的蓝图,但很显然,这个“游戏”的答案我们是知道的,这样肯定是不行的,所以我们需要设定一个随机数充当目标数字。这个时候就要用到srand和rand函数了。
2023-11-30 22:40:35
541
原创 【关于[C]报错:Run-Time Check Failure #2 - Stack around the variable ‘xxx‘ was corrupted的示例及解决办法】
发生此报错一般有两种情况:第一 -> 数组下标越界。这也是最常见的问题原因,解决办法是检查数组是否有越界情况,如果有的话创建一个更大的数组第二->声明时未规定数组大小。第三->编译器本身的问题。(在前两种情况不适用时考虑编译器问题。
2023-11-28 22:32:50
12462
4
原创 c语言程序中如何获取整数的最后一位数,以及如逆向显示这个整数
/获取整数的最后一位数字//5 {6 int no;7 printf("请输入一个整数:");9 printf("最后一位是%d", no % 10);11 }可见,只需要将整数除以10得出余数,此余数就是最后一位数。
2023-11-22 21:56:33
1437
1
原创 【无标题】对c语言中“运算”的基本常识
例如在加法运算vx+vy中,+就是运算符,运算符左侧的操作数成为第一操作数或左操作数,运算符右侧的操作数成为第二操作数或右操作数。单目+运算符、单目-运算符、!运算符和~运算符这四个运算符统称为单目运算符。如图所示,像+、-、*、/等这样可以进行运算的符号成为。以上我们所讲的运算符都需要用到两个操作数,这样的运算符称为。,作为运算对象的变量或常量被称为。
2023-11-22 21:38:51
140
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人