- 博客(11)
- 收藏
- 关注
原创 qsort的模拟实现
对于qsort,返回的类型是void类型,传递的形参有四个,分别是待排序数组的第一个对象首元素的地址;在交换函数中,我们不确定待排序的数组是什么类型,所以我们直接通过字节来交换,因为数组中元素类型一致,通过强制转换成char类型再解引用进行字节的交换。在比较函数中,无论是整型还是字符型元素,在计算机中都是以ASCII码的形式进行存储与计算,那么比较函数的返回值类型应该是int 类型。模拟实现中的比较函数与库函数中的交换函数一致,只需要注意此时排序的是什么类型的数组。最后是最主要的逻辑:冒泡排序。
2024-09-05 20:19:52
158
原创 字符串函数(2)
相对与strcat函数,strncat可以控制拼接的字符个数。我们先来看一下库函数中strncat的使用,将arr2中的两个字符拼接到arr1中:对于模拟实现中,我们需要让指针遍历arr1直到找到arr1中'\0'往前一位的位置,随后将arr2进行拼接,通过for循环中的条件表达式进行控制拼接的个数size。程序运行的结果与使用库函数一致,模拟实现成功。
2024-09-05 15:08:29
106
原创 字符串函数
strlen用来计算字符串的长度,从给定起始位置到'\0'。函数的返回值是size_t,是无符号的。传递给strlen函数的形参是字符串的首元素地址。对于库函数strlen,使用方法如下:我们可以看到,strlen计算得到arr字符型数组的长度为6,可知strlen计算的结果不包括'\0'。方法1,通过指针变量字符数组,指针每遍历一个字符,计数器自加,最后返回计数器的值就是字符数组的长度。
2024-09-04 19:51:36
660
原创 C语言——简单扫雷小游戏(末尾有全码)
在下面方格中,有若干个雷随机分布在格子中,当玩家选择任意一个格子时,若格子不是“雷”,则会显示以此格子为中心,显示附近八个格子的“雷”的数量。如果玩家选择的区域是“雷”则游戏结束下面让我们用C语言一步步实现这个游戏。
2024-08-03 21:51:49
1105
原创 循环语句(C语言)
do....while循环与while循环相似,区别是 do....while语句要多执行一次语句。循环语句有三种,分别是for循环,while循环,do....while循环。continue语句的作用是跳过本次循环,执行下一次循环。break语句的作用是终止循环,执行循环之外的语句。break语句与continue语句在循环的运用。只有表达式判断非0时才进入while循环。do.....while循环。代码实现:检测整数是几位数。
2024-07-21 13:09:04
172
1
原创 栈的定义和运算(数据结构)
2.先进栈3,2,1,出栈2次,进栈4,5,6,7,再全部出栈,输出每次入栈,出栈序列。1.依次进栈数据为1,2,3,4,5,再全部出栈,输出出栈序列。依次进栈数据为1,2,3,4,5,再全部出栈\n"栈的定义(栈顶指针,栈顶指针,栈的最大容量)进栈4,5,6,7,再全部出栈\n"入栈成功,入栈顺序:%d\n"进栈3,2,1,出栈2次\n"入栈成功,入栈顺序:%d\n"进栈4,5,6,7,再全部出栈。入栈成功,入栈顺序:%d\n"进栈3,2,1,出栈2次。出栈顺序:%d\n"出栈顺序:%d\n"
2024-05-05 13:10:37
407
原创 链表的定义和运算(数据结构)实验
2.从键盘上依次输入21、18、30、75、42、56,逆序创建单链表(前插法),并输出单链表中的各元素值。3.分别在单链表的第3个位置和第9个位置插入67和10,给出插入成功或失败的信息,并输出单链表中的各元素值。4.删除单链表中的第6个数据元素和第8个数据元素,给出删除成功或失败的信息,并输出单链表中的各元素值。插入成功,此时链表元素为:"插入成功,此时链表元素为:"插入失败,此时链表元素为:"删除成功,此时链表元素为:"删除成功,此时链表元素为:"插入失败,此时链表元素为:"请输入插入元素的位置:"
2024-05-05 13:09:14
584
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人