C语言学习
文章平均质量分 62
用于记录C语言学习过程
ZYL1281886249
这个作者很懒,什么都没留下…
展开
-
深入理解二分查找算法及其在C语言中的实现
二分查找,又称折半查找,是一种分治策略的搜索算法。它通过比较目标元素和数组的中间元素来确定目标元素在数组中的位置。如果目标元素等于中间元素,则返回中间元素的索引;如果目标元素小于中间元素,则在数组的左半部分进行查找;如果目标元素大于中间元素,则在数组的右半部分进行查找。通过不断缩小搜索范围,最终可以找到目标元素或确定目标元素不存在于数组中。以下是一个描述二分查找算法过程:首先,定义数组的最低索引 left 和最高索引 right。在本例中,left=0,right=8。原创 2023-07-15 22:52:52 · 213 阅读 · 2 评论 -
递归实现字符串反转的函数 - reverse_string()
基本思想是判断起始位置是否处于结束位置之前,若还在之前,那么表明字符串反转还未完全实现,则需要将此开始位置与结束位置的字符进行调换并再次调用本函数,此时将起始位置参数+1结束位置参数-1对下一对字符进行调换,直到起始位置不在大于结束位置时表面字符串处理完毕,则可以结束递归。递归是指函数在其定义中调用自身的过程。在本问题中,基本情况是长度为1的字符串,递归情况是长度大于1的字符串。通过递归实现的reverse_string()函数可以对任意长度的字符串进行反转操作,而不依赖于C函数库中的字符串操作函数。原创 2023-07-18 11:05:36 · 821 阅读 · 2 评论 -
[C语言]用C语言实现三子棋小游戏
引言:三子棋是一种简单而又有趣的棋类游戏,它常常被用作学习和练习编程的项目。本文将介绍如何使用C语言来实现一个基本的三子棋游戏,包括程序设计思路和代码实现。原创 2023-08-07 21:46:17 · 126 阅读 · 4 评论 -
C语言判断一个数是否是质数的几种常用方法(求100-1000以内的所有质数)
要用代码判断一个数是否是质数,首先我们需要知道什么什么数称之为质数。质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。原创 2023-07-15 15:34:26 · 15776 阅读 · 2 评论 -
如何正确理解C语言中的数组名?(冒泡排序函数的正确设计)
arr表示的是数组首元素的地址,并不是将整个数组当成参数。因此在bubble_sort函数内部计算的 int sz = sizeof(arr) / sizeof(arr[0]) 并不是数组的长度, sizeof(arr)计算的是数组指针的大小而并非数组的大小。我们可以从结果中看出 sizeof(arr) 计算出来的是整个数组的大小。arr 地址与 &arr地址的值上相同,但通过地址加一可以看出,前者实际表示的是数组首元素的地址,后者则是表示整个数组的地址,只是在值上二者一致。以上的代码存在问题嘛?原创 2023-07-16 19:12:31 · 127 阅读 · 2 评论