自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 合并K个升序列表

对于合并两个链表的题目,我们可以借助一个新的链表来存储合成的链表,然后从两个链表的表头开始比较,取两个链表节点中存取的较小值连接到新建立的链表的末尾,并将该链表的指针和新建立链表的指针向后移动。如果两个链表的长度不相同,比如说l1已经全部存到新建立的链表当中,而l2还有剩余的长度;我们回到合并k个升序链表的问题,我们可以将这一组链表的前两个进行合并,将合并后的链表存储在原链表组中,然后用新链表和下一个链表进行组合,如此遍历下去,最后返回最后一个升序链表就是我们所要求的链表了;将两个升序链表合并为一个新的。

2025-03-17 22:59:04 166

原创 使用函数指针数组写一个计算器

但如果随着这个计算器想要实现的运算法则越多,我们就需要添加相应的函数和case语句来进行选择,case语句不断加长,这样会使得代码冗长。如上面代码所示我们采用函数指针数组的形式,将同类型的函数存放在同一个数组中,极大方便了日后代码的维护。若是我们想要增加某种运算方式,我们只需要在编译好函数后,在数组中添加该函数即可,不需要再通过case语句来实现。上段代码有一处细节,为了使我们的菜单序号和数组下标对应上我们将数组的首元素置为0,使得函数对应的下标和菜单栏选项的序号值相对应。在文章的开始我们先给出一组代码。

2024-12-08 20:48:28 326

原创 位操作符的初步认识

我们先将a^b的值赋给a,那么再将a^b赋值给b就能将a的值存入b,此时a中的内容为b,再将a^b赋给a,就能将a消去,a的值就是b.注意此处得先进行b的赋值操作,再进行a的赋值操作,如果将两个操作相反a的值先变成b,再进行b = b^a的操作此时的a的值已经是b了,b^a就是b^b = 0。那么我们遍历这个数组,并将里面的每个元素异或,如果出现两个相同的数字,则得到0,最后只剩下只出现过一次的元素和0相异或,最后返回只出现过一次的数字。第二部就可以变成例题二的统计一个数字中有多少个1的问题了。

2024-11-30 23:02:28 618

原创 判断某个区间的水仙数

根据取模和求商的操作可知,我们每次取模都可以得到一个数字得最后一个数字,取商得操作可知每次取商数字少一位,那么我们每次取模完用变量接收,再取商就可以得到每个数字,实现了步骤一和步骤二。假设我们要求1~100000之间的水仙数,根据水仙数的定义,我们首先要判断这个数字是几位数,然后再取每个位数上的数字,依次乘方相加。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。①判断该数字是几位数。②取每个位数上的数字。

2024-11-26 17:10:18 536

原创 用C语言写一个扫雷游戏

假设此处我们要埋十个地雷,我们就要找十个数组的位置,将里面的元素从0改成1,就实现了地雷的布置。随机数的设置也很好实现,因为坐标只能是1~9,所以我们对9取模后加1就是1~9.此处还有一个容易被忽视的问题就是可能会有几次产生的随机坐标都是同一个,为了解决这一个问题,我们就还需再借助一个变量count,当我们每次进入循环时,判断产生的随机坐标处的元素是否为1,如果为0我们的count就减1,说明此次的设置地雷的操作是有效的,当count为0时,就跳出循环,这样子我们就可以得到一个埋藏着10个地雷的数组了。

2024-11-20 23:34:30 1009

原创 给定一个含整数的数组,如何确定数组中未出现的最小正整数

【全国联考2018年】给定一个含n(n≧1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数.例如,数组{-5,3,2,3}中未出现的最小正整数是1,数组{1,2,3}思路:因为我们要去寻找最小正整数,所以我们从1开始遍历循环,到n+1,从前向后扫描数组元素,直到某个正整数并没有出现在数组中,则该元素就是我们要找的未出现的正整数。找出规律:观察数组可知最坏情况,及当一个长度为n的数组里面的元素为1~n时,未出现的正整数为n+1,说明遍历时变量的最大值不会超过n+1。

2024-11-19 12:01:10 233

原创 C语言用更相减损术求最大公约数

先判断输入进来的两个数字的大小,然后相减,将所得值重新赋值给a或者b再次相见,所以我们需要构造一个循环结构,直至a,b相等跳出循环,此时的a和b就是最大公约数。则第一步中约掉的若干个2的积与第二步中等数的乘积就是所求的最大公约数。其中所说的“等数”,就是公约数。求“等数”的办法是“更相减损”法。第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。》的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于任何求最大公约数的场合。所以10就是40 和10两个数字的最大公约数。

2024-11-14 17:31:56 307

原创 用c语言编写一个1~100的猜数游戏

如果想要退出游戏返回主菜单界面我们只需要退出最外层的while循环即可,这里我选择的方式就是定义一个变量,如果当我们的输入值为0时,则将该值变成0,从而退出while循环,返回到主菜单。接下来我们需要一个变量来接收这些参数来实现开始游戏,输入不同变量来实现不同功能我们可以使用switch语句,当输入为1,进入游戏,输入为2推出游戏,如果是输入了其他变量我们则可以设计成重新输入,可以使用goto语句返回重新输入。输入1的时候进入游戏,同理,为了更简洁明了,我们定义一个game函数来编译游戏内容。

2024-11-11 23:38:16 259 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除