自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

c23856的博客

小比特一枚

  • 博客(86)
  • 收藏
  • 关注

原创 约瑟夫问题

在这里我们利用之前的创建节点的函数,然后通过for循环开始进行不断的赋值创建。这是一个情景题,有n个人手拉手形成一个环,然后从第一个人开始数数,当数的数为m时就沙雕这个人,然后再从杀掉的人后一个开始重新数数,以此类推直到剩下最后一个人。我们可以创建一个有n个元素节点的循环链表,然后每个节点分别储存1~n的数字。然后每次数到m的时候就释放那个节点即可,最后将剩下节点的数据域返回。这个代码其实有同一个问题,当我们的m为1时,就会出现对NULL的引用,导致报错。其实我们只需要让prev有一个初始值即可。

2024-03-31 13:46:21 1041

原创 数据结构1

数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。我们在之前学习过许多的数据类型,结构体也可以算作一种数据结构。

2024-03-25 11:01:41 314

转载 苹果手用计算机解锁手机密码,苹果手机怎么强制解锁 iPhone强制解锁密码教程

当我们点击“确定”以后,系统就会提醒我们如下图这样的提示(不同的iTunes版本提示也是不同的,大致主要是下图两种),然后按住键盘上的 Shift键 同时鼠标点击“恢复手机”或者“恢复”。随着手机的日益普及,特别是苹果手机的盛行,很多人都在使用苹果手机,有时候也会忘密码,今天小编就来给大家分享一下苹果手机强制解锁的教程,一起随小编来看看吧!首先我们在网上下载一个和手机版本一样的ios固件,也就是手机的系统。完成上面的两项准备以后,然后我们打开iTunes软件,然后将手机连接到电脑上,并将手机关机。

2024-03-24 22:19:44 48

转载 计算机没有网络时间不准如何设置,轻松解决电脑时间不准的方法

但是对于有些用户来说,他们认为电脑时间不准是中毒所致,其实小编建议大家不要如此惊慌,只要电脑出现问题都是中毒了这种想法是不正确的。2.双击“服务和应用程序”,再双击“服务”,找到“Windows Time”,右键单击后选择“属性”,会弹出“windows time的属性“窗口;2.切换到“Internet时间”,选中“与Internet时间服务器同步”,选择“time.windows.com”。1.打开“命令行“,输入“w32tm/register”,回车;3.将启动类型改为“自动”,点击“确定“即可。

2024-03-24 22:10:43 434

转载 计算机硬件输出设备有哪些,输出设备有哪些,输出设备的作用

在图形方式下,显示内容以像素为单位,屏幕上的每个点(像素)均可由程序控制其亮度和颜色,因此能显示出较高质量的图形或图像。输出设备(Output Device)是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。这些返回结果可能是作为使用者能够视觉上体验的,或是作为该计算机所控制的其他设备的输入:对于一台机器人,控制计算机的输出基本上就是这台机器人本身,如做出各种行为。显示器适配器又称显示器控制器,是显示器与主机的接口部件,以硬件插卡的形式插在主机板上。

2024-03-24 22:07:42 66

原创 扫雷游戏实现

扫雷代码可能有些小伙伴会觉得复杂,其实大家静下心来慢慢看,没有想象中那么复杂的。我们在实现扫雷游戏时,为了方便就会创建两个文件,一个是头文件,一个是源文件。在头文件中我们会定义一些常量和需要实现的函数。接下来我们开始实现函数。

2024-03-24 22:02:01 317 1

原创 计算器模拟实现

我们在实现计算器实现之前,我们需要思考一下一个好的计算器需要什么?一个菜单或者是对浮点数的计算,显然这些都是需要的。首先我们先来制作菜单吧。

2024-03-24 21:48:09 516

原创 链表oj测试题(下)

我们可以看到我们创建了三个指针,分别指向第一个节点,和下一个节点,我们通过判断n2是否为空,来控制循环,此时n1就来到了原链表的尾节点,通过更改节点们的指针域来改变节点的指向。我们今天要学的是第一个方法。此代码就是遍历原链表将小于指定数的节点放入一个链表中,大的也放入一个链表中,然后将小链表的尾结点与大链表的头结点相连,但要注意的是我们的大链表的尾结点可能还连着一个节点,导致链表成为一个闭环,所以还需要将大链表的尾结点的指针域保存NULL.所谓的分割链表其实就是指定一个数,将小于该数的都放在该数的前面。

2024-03-24 14:43:22 604

原创 函数重载(简易)

编译器为了实现函数重载,也是默认为我们做了一些幕后的工作,编译器用不同的参数类型来修饰不同的函数名,比如void func();编译器可能会将函数名修饰成_func,当编译器碰到void fu(int x),编译器可能将函数名修饰为_func_int,当编译器碰到void func(int x,char c),编译器可能会将函数名修饰成_func_int_char,以此作为区分。在C++中是允许出现同名的函数,是 C++ 中一种强大的特性,它允许定义多个同名函数,目的就是为了方便的使用函数名。

2024-03-20 23:22:27 282

原创 链表oj测试题(上)

在这里的思路就是遍历原链表碰到不为val的数就尾插到新创建的链表,最后将新链表的头返回来,大家也可以试试将它们的上一个节点的地址保存val下一个节点的地址,然后再将val的空间释放掉,这个方法虽然有些麻烦,但是大家可以练习一下思维。我们在这里用到的是快慢指针法,这个方法就是创建两个指针变量,然后快指针一次走两步,慢指针一次走一步,当快指针为NULL,或者慢指针next为NULL,循环停止,慢指针的位置就是中间节点的位置·。中间节点,如果有两个中间节点,返回第二个。

2024-03-20 18:45:15 640

原创 双链表(上)

在这里需要知道的我们在学习单链表的时候学的是没有带头的,只是将第一个节点作为头结点而已,带头的是表示一个不保存数据节点作为第一个节点。我们发现双链表的声明比单链表多了一个东西,一个节点即保存下一个节点的地址又保存上一个节点的地址,当然头结点除外。在这里应该有些小伙伴猜到了,我们在在之前学习的顺序表,单链表都是结构体声明,当然双链表也是的。注意:这里的“带头”跟前面我们说的“头节点”是两个概念,实际前面的在单链表阶段称呼不严。谨,但是为了同学们更好的理解就直接称为单链表的头节点。我们来看看是怎么实现的吧?

2024-03-13 18:22:17 420

原创 单链表(下)

当然在实现函数的时候记得包含头文件,在上面的实现函数中,也许有些小伙伴会疑惑,为啥在指定位置操作的时候,需要传入头结点,而之后却不需要呢?这是因为我们在操作之后的时候,只需要一个指针就可以找到需要找的的位置。上述代码也有很多值得改进的地方,大家如果有些疑问,也可以私信我哟。我们在单链表(上)中了解了一些需要实现的函数,这一篇就让我们一起来实现。10.在指定位置之前插入数据。12.删除指定位置之后的节点。9.在指定位置之前插入数据。11.删除指定位置的节点。

2024-03-10 17:08:33 329

原创 c语言经典测试题13

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。c语言经典测试题在这里就是最后一篇了,大家学到多少了呢?会不会对c语言有了更多的认识了呢?写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。示例: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2]给定两个数组,编写一个函数来计算它们的交集。2.输入一个正整数k,代表截取的长度。

2024-03-10 13:13:55 551

原创 c语言经典测试题12

3处strcpy函数的参数是目标空间的地址,和需要复制空间的地址,这两个参数都是一级指针,但是在这里我们对str进行了取地址操作,这样的话我们strcpy就需要用二级指针来解说,很显然strcpy不具备这个条件,所以3是错的。4是对的,之前有说过。显然在这里是不会存在的。还有就是float类型的数据如果直接相等是可能出问题的,因为浮点数在存入内存时可能保存不完整,这样的话可能你不会得到想要的结果,在这里++i是一个前置++,这样的话会使f数组中的第一个元素得不到比较,这会影响代码的严谨。

2024-03-07 15:49:30 938

原创 c语言经典测试题11

它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。我们来分析一下:我们创建了一个二维数组a,结构为3行2列 ,上述的赋值方法就是按顺序来赋值的,我们又创建了一个指针数组p,a[1]其实为a[1][0],所以p[0]保存的地址为a第二个元素的地址,也就是它的第二个一维数组的地址,所以p[0]+1就是第二个一维数组的第二个元素的地址,我们再将其解引用,所以我们应该选择C。

2024-03-04 09:20:54 691

原创 通讯录(下)

通讯录中我们在上一期中说明需要实现的函数,和需要创建的项目,今天我们就来实现contact.c项目中的函数实现。注意我们要在该项目中包含.h中的头文件。大家也可以试着将其存入文件,这样就可以更好地保存数据,当然大家也可以进行创新。7.我们可以在测试项目上加上菜单,这样更方便使用。

2024-03-03 12:07:17 418

原创 自学剪辑分享

或者我们也可以向网上的教程去修剪视频,还可以和大家分享一下我在用的去水印软件,就是乐其爱水印精灵,如果在电脑上去水印的话可以使用腾讯智影。我们有些人学习剪辑是为了以后的工作,俗话说技多不压身,确实可以所学习一些技能,但是我个人是觉得将好看的视频加上应景的音乐是一件快乐的事情,我没有将其当做我未来的就业技能,每次剪完后看见自己的作品都会有一种很自豪地感觉,不知道有没有小伙伴有一样的经历,当然我给大家推荐一个博主,在哔哩哔哩上有系统的教学shotcut的使用,大家可以去看看。

2024-03-02 16:48:09 193

转载 ipad查看本地文件html文件,ipad如何观看本地视频 怎么用iPad观看电脑上的影片

接下来启动已经加入WIFI区域网的iPad上Air Video软件,软件会进行自动搜索,查找局域网中的其它电脑并显示出电脑的完整名称。首先,启动你电脑端的Air Video Server,默认shared folders(共享目录)这里点击add disk folder(增加磁盘文件夹),然后选择你电脑中影片视频的目录文件夹。相信Air Video(空中视频)可以帮助我们实现!PC端下载Air Video Server,PC端软件安装需要JAVA环境,如果电脑无此环境,需要下载个JAVA运行库安装一下。

2024-03-02 16:19:03 66

转载 qq三国挂机云服务器,云服务器挂机QQ三国游戏的流程和实际操作概况记录

这里我建议可以选择腾讯云后者UCLOUD优刻得,目前两个商家都是有活动的,前提是他之前没有在这两个商家注册过账户,然后自己选择有新用户的优惠力度。这样,我们直接安装完毕之后就可以登录QQ三国游戏软件,然后我们具体该如何玩是我们自己的事情,我自己不会玩游戏,也没兴趣,这样在安装完毕之后就给这个网友自己操作。目前两者都有活动,这里这个同学最后选择的是UCLOUD,原因是他之前有过腾讯云账户,目前享受不到新人爆款活动,所以选择后者。安装完毕之后,我们还不好直接使用,因为UCLOUD服务器还需要设置安全组防火墙。

2024-03-02 16:14:49 174

转载 html边框显示长短调整,CSS之border边框长度控制

需要边框长度比容器小一些时,用div嵌套,但伪类在实现这个效果时很方便,只需要一个div就够了,另外调整padding和。

2024-03-02 16:09:14 480

原创 c语言经典测试题10

我们来分析一下:这里的fun函数有一个while循环,其判断条件为x+1会使每次的x加1,我们的if中x=x|(x+1),这里的按位或操作符,计算规则为只要有1就为1,同时为0才为0,这里的n是用来记录总共循环的次数。我们发现每循环一次,补码中就会少一个0,所以这个fun函数其实是计算x的补码中0的个数,while循环的判断条件是x+1=0,当x的补码全部为1是值为-1,此时停止循环,n记录了循环的次数,也是该补码中0的个数。以下选项中,对基本类型相同的两个指针变量不能进行运算的运算符是( )

2024-03-02 16:03:05 985

原创 c语言经典测试题9

其实这个if的判断条件的运算顺序是不同的,'0'

2024-03-01 09:33:46 1560

原创 c语言经典测试题8

或许有的人已经试过了,但是发现好像不会有结果,其实是因为s++为后置++,先试用后加1,然而我们这个++是在s出了函数之后才会运行加1操作,又由于该函数为递归函数,不会直接出函数,所以该递归参数就一直是s不会改变,这样的话,代码就会陷入死递归。其实在不同类型的数据进行计算时,会统一进行向最高级类型的转换,在这里基本数据类型的等级从低到高如下:char int long float double运算的时候是从低转到高的,表达式的类型会自动提升或者转换为参与表达式求值的最上级类型。上述代码的运行结果是什么?

2024-02-28 16:32:54 1268

转载 监控服务器与硬盘录像机一样吗,录像机和服务器的区别是什么

首先的区别便是工作方式的不同,在传统的DVR系统中,由于监控中心与DVR采用的是模拟的方式进行连接,因此,这种衔接模式很容易随着传输距离的加大造成模拟信号的损失。这无疑要比DVR设备的信号传输过程中的"裸奔"更为安全,也许DVR的管理范围较小,所以设备承担的安全风险也要相对小的多,但是对于借助网络工作的NVR来说,这种保护则显得更加的必要。此外,在工作的独立性上,DVR可以独立的对视频进行获取,压缩,存储和管理等自成系统工作,而NVR则必须与前端的摄像机和dvs配合才能实现正常的工作。

2024-02-28 13:23:00 200

转载 x86服务器是32位系统嘛,x86是什么意思?x86是32位还是64位?

X86可以称作为32bit,其中的bit代表32位版本的系统,同时X86系统***只能识别到内存是3.75G。而X64就是通常所说的64bit,是指64位的操作系统,64位系统***支持内存总数高达128G,对于内存非常大的服务器基本都是装的64位系统,64位可以很好的利用大内存,如果大内存装32位那是对内存的一种浪费。x86的意思指的是32位系统,它是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家用PC领域。x86 是指CPU是32位版本的。

2024-02-28 13:10:54 78

原创 程序员如何看待祖传代码

所谓的祖传的代码主要在存留很长时间的代码而且很可能里面很多隐患,通常状态下如果祖传的代码不是很复杂作为程序员来讲都会不自觉地给重构下,如果是非常复杂的模块即使程序员想重构但是考虑后续的影响可能是心有余而力不足,除非公司或者部门下决心把这个事情给做了,单纯的一两个人都不会考虑重构大的功能模块。我真的见过什么也不会的开发者,需要什么功能就去网上找示例,找demo,缝缝补补就是自己的代码,这种代码逻辑混乱,结构松散,你不知道他为什么这么写,他自己更不知道。今天完成了需求,领导会说,“小伙子,很不错,加油干!

2024-02-27 18:02:06 422

原创 c语言经典测试题7

在这里我们发现第一次循环时-1&-2,补码最右端少了一个1,我们继续观察两次发现,每循环一次x的补码最右端就会少一个1,这样的话在64位机器中,int类型的大小是32位bit,所以这里应该会循环32次,故count也会变为32.我们发现x总是等于-1,这是因为补齐的是1,舍弃的也是1,这样的话,补码始终不变,所以该程序会陷入死循环。我们来分析一下:这里考查的是条件操作符的使用,大家可能会觉得好长一条代码呀,看上去就好复杂,其实不然,我们首先来看w

2024-02-27 16:12:12 1089

原创 c语言经典测试题6

进入函数,if的判断条件是*s也就是数组的元素是否为真,当我们的*s为'\0'时,就会跳出if语句,当我们跳出if语句时就已经将所有的“递”算完了,现在就要开始计算"归"了,此时就开始从后往前开始进行运算printf库函数了,如果此时我们将*s进行监视的话,就会发现*s就像自己会往回走一样,那我们的结果会不会就是反过来的字符串呢?如果大家有点不好理解的话,我们也可以换个方式理解,思考一下我们p[3]是找到它的第四个元素,并解引用其实就是10,然后我们的[2],其实就是将该地址加2再解引用,得到的就是12。

2024-02-26 15:07:43 601

原创 c语言经典测试题5

可能大家在看到这道题的时候会有点懵,没关系我们先来分析一下:for循环直接进入后,第一次i为0,然后进入调整部分,我们发现该for循环没有调整部分,就会直接进入判断部分,这里有一个逻辑或运算符,如果前项为真,后项就不再计算,如果前项为假就计算后项,结果就为整个表达式的结果。确实是的,因为没有调整,只有判断式,而且判断式的结果已经定下。我们看上述while循环语句中的判断式它的返回值应该为1,因为打印了一个字符,我们来看选项,A选项说与0等价,如果判断式为0的话,则不会进入while循环。

2024-02-24 12:59:19 1327

原创 c语言经典测试题4

4.函数最终要返回一个int值,返回值类型没问题,但是这里要强调一个选项中没写出的问题,如果是牛客网上的题,会报编译错误,说该函数不是在所有情况下都有返回值,只有在if条件成立的情况下有返回值,一般在vs上这种情况能通过,编译器会给一个默认的返回值。有一个长度为 n 的非降序数组,比如 [1,2,3,4,5] ,将它进行旋转,即把一个数组最开始的若干个元素搬到数组 的末尾,变成一个旋转数组,比如变成了 [3,4,5,1,2] ,或者 [4,5,1,2,3] 这样的。有人就会疑惑了,我们不是输入的字符串吗?

2024-02-23 15:14:59 1390

原创 c语言经典测试题3

就比如说int const *c =21,这里的const限制的就是*c,但是没有限制c.那么我们按照这个逻辑推理一下,这个A选项用*c来赋值,但是我们原式的const限制了*c,所以这个A选项是错误的,B选项也是一样的道理。C选项的const限制的是e,但是我们使用的也是e所以也是错误的,D选项的const既限制了*f又限制了f。这个代码说明什么呢?这里的+=其实就是我们的a+=1等价于a=a+1,所以这里的式子就等价于a=a+(a=a-a*a),这样的话我们就先计算括号里面的式子,a=a+a=-6;

2024-02-22 16:52:03 532

原创 通讯录(上)

通讯录是基于顺序表的一种应用,它的结构和顺序表大致相同,难度上升了一点,我们也先来了解一下它的结构。在通讯录中我们会涉及到联系人的添加和删除,所以我们也是通过结构体的方式进行结构声明。

2024-02-22 11:25:33 344

原创 c语言经典测试题2

这题是一个递归,这个代码的运行结果会是多少呢?在每次的调用中我们的i的数是一直在改变的,每次的调用都会加1,最后一次调用时i=3,n=4,所以结果应该为7,这是因为static修饰局部变量使之成为全局变量,它的值只有到程序结束才会销毁,如果我们将static去掉的话,每次调用f()函数时,i都会初始为1,并不会随着调用的次数数值跟着增加。我们来分析一下:\\是转义为字符'\',\123表示的是一个八进制,算一个字符,\t算一个字符,加上\0,应该有13个,但是strlen只计算\0前的字符个数。

2024-02-21 16:24:32 1047 2

原创 单链表(上)

想象一下这样的场景,假设每节车厢的车门都是锁上的状态,需要不同的钥匙才能解锁,每次只能携带一把钥匙的情况下如何从车头走到车尾?其实链表中的成员在内存中的储存是不连续的,我们就无法通过指针的加减找到下一个保存数据的位置,为了方便查找所以在节点中我们保存下一节点的地址就可以快速找到它们。据,也需要保存下一个节点的地址(当下一个节点为空时保存的地址为空)。当我们想要从第一个节点走到最后一个节点时,只需要在前一个节点拿上下一个节点的地址(下一个节点的钥匙)就可以了。那么在“车厢”中的结构是怎样的呢?

2024-02-21 14:04:12 654

原创 c语言经典测试题1

我们来分析一下:上述代码中我们创建了4个int类型的变量,x=5,y=7为全局变量,而x=3,y=8为局部变量,运算过程中如果全局变量和局部变量名字相同,则优先使用局部变量。答案应该为:a,b,因为我们在使用scanf时需要提供输入地址,但是数组的名字就是它的首元素地址,所以&arr和arr的值是相同的,但是b必须需要&才能输入。为指针的应该是acd,因为宏只会替换,替换后的结果为int*a,b,这样的话只有a为指针,b却不是。而typedef是重命名,int_ptr c,d,表并列,故都是指针。

2024-02-20 17:39:03 976

原创 顺序表(下)

我们这个些代码都是写在.c文件中,那些函数声明和头文件都包含在.h文件中,另外我们在实现的过程中难免会出现一些错误,所以我们还需要一个.c的测试文件,每次实现一个功能的函数的时候就可以测试一下。这样也可以提高代码的准确性。这些大家可以试着尝试一下。

2024-02-17 21:12:53 480

原创 顺序表(上)

线性表( linearlist )是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...(Sequential List)是一种基本的数据结构,它是一种线性表的存储结构。线性表是一种数据元素的有限序列,元素之间存在顺序关系。线性表在逻辑上是线性结构,也就说是连续的一条直线。线性表指的是具有部分相同特性的一类数据结构的集合。线性表在物理上存储时,通常以数组和链式结构的形式存储。,对数组的封装,实现了常用的增删改查等接口。

2024-02-15 10:52:41 375

原创 程序员为啥不喜欢关电脑呢?

这里大家会不会在想是因为他们懒吗?我们来讨论讨论。程序员通常不选择关闭电脑,而是只关闭显示器,这并不是因为他们懒惰。

2024-02-15 10:21:08 357

原创 搭建asp网站和利用永恒之蓝漏洞

8.填写win7ip。7.选择攻击模块为弹药。4.输入win7ip,使用set命令测试,用options命令查看是否成功。11.输入cmd命令出现乱码,输入chcp 65001,乱码消失。2.1输入模块,按tab键可补全模块,双击显示该位置下的工具。10.输入cmd命令不成功,输入shell切换到cmd命令。3.输入命令options查看该模块下的参数。5.使用exploit命令运行该模块。2.2查看win7的IP地址。

2024-02-14 18:35:39 413

原创 预处理详解(下)

许多C的编译器提供了一种能力,允许在命令行中定义符号。用于启动编译过程。例如:当我们根据同一个源文件要编译出一个程序的不同版本的时候,这个特性有点用处。(假定某个程序中声明了一个某个长度的数组,如果机器内存有限,我们需要一个很小的数组,但是另外一个机器内存大些,我们需要一个数组能够大些。

2024-02-14 17:55:07 946

空空如也

空空如也

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

TA关注的人

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