C语言算法
文章平均质量分 67
普通的一个普通猿
这个作者很懒,什么都没留下…
展开
-
数据结构--利用栈解决迷宫问题
迷宫问题通常可以用深度优先搜索(DFS)或者广度优先搜索(BFS)算法解决,这两种算法都可以结合栈来实现。原创 2024-03-26 15:50:45 · 415 阅读 · 12 评论 -
有序表的归并算法(C语言)
有序表的归并算法是将两个已经按照一定顺序(升序或降序)排列好的线性表合并成一个新的有序表的过程。该算法采用比较两个表中当前待处理元素的大小,每次选取较小者(或较大者,视排序规则而定)放入新表,直至一个表处理完毕,再将另一个表剩余元素依次加入新表。归并过程中保持新表有序,最终得到的新表不仅包含了原来两个表的所有元素,而且所有元素也是有序排列的。此算法常用于归并排序和数据集合并操作,时间复杂度为O(n + m),其中n和m分别为两个输入有序表的长度。原创 2024-03-25 12:32:06 · 404 阅读 · 9 评论 -
C语言之小球下落问题
在C语言中解决小球自由下落并弹跳的问题,可以通过循环和递归等方法来计算小球每次落地时的总路程以及第10次反弹的高度。问题描述如下:一个球从100米高度自由落下,每次落地后反跳回原来高度的一半,再落下。要求计算小球在第10次落地时经过的总距离以及第10次反弹的高度。原创 2024-03-21 11:27:11 · 541 阅读 · 0 评论 -
C语言之判断整倍数
在C语言中,判断一个整数 a 是否是另一个整数 b 的整数倍的算法非常简单,可以使用取模运算 % 来实现。原创 2024-03-21 11:23:41 · 406 阅读 · 0 评论 -
C语言之求任意次方的最后三位
在C语言中,求一个整数任意次方的最后三位数可以使用快速幂算法结合取模运算来实现。原创 2024-03-20 09:44:57 · 976 阅读 · 19 评论 -
C语言之计算某日是该年的第几天
在C语言中,计算某日是该年的第几天通常涉及以下步骤:判断输入的年份是否为闰年。根据判断结果,确定当年二月的天数(28或29天)。然后,根据月份从前几个月开始累计天数。原创 2024-03-20 09:38:32 · 926 阅读 · 4 评论 -
C语言之婚礼上的谎言
婚礼上的谎言是一个经典的逻辑推理问题,通常作为编程练习使用。在C语言中解决这个问题的思路是通过穷举所有可能的新郎新娘配对情况,并根据题目给出的条件判断哪一种配对满足所有条件。原创 2024-03-19 17:23:26 · 1345 阅读 · 10 评论 -
C语言之打鱼晒网问题
打鱼晒网问题是一个经典的编程题目,源自中国的俗语“三天打鱼两天晒网”,意思是周期性地工作和休息。在C语言中实现这一问题的程序设计目标是:当给定一个日期后,计算出从某一固定起始日(如1990年1月1日或2011年1月1日)开始到该日期为止,渔夫按照每连续五天循环一次的行为模式(前三天打鱼,后两天晒网),确定在给定日期渔夫是在打鱼还是晒网。原创 2024-03-19 17:14:44 · 991 阅读 · 0 评论 -
C语言之寻找亲密数
亲密数(Amicable numbers)是指两个不同的正整数A和B,它们的真因子之和(不包括自身)互为对方的值。即:A的所有真因子(1到√A之间的所有能整除A的数)之和等于B;B的所有真因子之和(同样不包括B本身)又等于A。原创 2024-03-18 12:07:36 · 533 阅读 · 3 评论 -
C语言之直接排序算法
直接插入排序是一种简单的排序算法,其基本思想是将待排序的数组元素视为一个已排序部分和一个无序部分。开始时,假设第一个元素是有序序列,然后将后面的元素逐个插入到前面已经排序好的序列中适当的位置上,使得整个序列逐渐变得有序。原创 2024-03-18 11:31:44 · 308 阅读 · 2 评论 -
C语言之二分查找
二分查找算法(Binary Search)在C语言中是一个用于有序数组查找特定元素的高效算法。其基本思想是通过不断将查找区间减半来逼近目标值,直到找到目标或确定目标不存在于数组中。原创 2024-03-17 10:51:48 · 411 阅读 · 2 评论 -
C语言之判断浮点数
在C语言中,判断浮点数的算法通常涉及到比较两个浮点数是否相等或比较它们的大小。由于浮点数运算存在精度误差问题,直接使用 == 或 != 进行比较可能会导致不准确的结果。因此,一般采用近似比较方法来判断浮点数的相等性或大小关系。原创 2024-03-17 10:45:32 · 477 阅读 · 2 评论 -
C语言之归并排序
归并排序(Merge Sort)是一种基于分治策略的高效排序算法,其基本思想是将一个大问题分解为若干个规模较小且相互独立的相同子问题进行解决,然后再合并这些子问题的解以得到原问题的解。在C语言中实现归并排序通常包括两个主要步骤:分解和合并。原创 2024-03-16 11:18:12 · 645 阅读 · 1 评论 -
C语言之阶梯问题
爱因斯坦的阶梯问题是一个经典的数论问题,通常表述为:存在一个无限长的阶梯,要求找出一个最小的正整数阶梯阶数,使得当按照不同的步幅上阶梯时,最后一步都恰好剩余一定的阶数。原创 2024-03-16 10:58:04 · 829 阅读 · 1 评论 -
C语言之选择排序
选择排序(Selection Sort)是一种简单直观的排序算法,它的工作原理是每一次从未排序序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(或最大)的元素,然后放到已排序序列的末尾。这个过程重复进行,直到所有元素均排序完毕。原创 2024-03-15 10:13:04 · 533 阅读 · 1 评论 -
C语言之快速排序
快速排序是一种高效的、基于分治策略的比较排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。原创 2024-03-15 10:09:00 · 853 阅读 · 1 评论 -
C语言之冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。原创 2024-03-14 15:10:34 · 434 阅读 · 1 评论 -
C语言之“百元买鸡”问题
“百元买鸡”问题是一个经典的数学问题,也可以作为编程练习实例。这个问题出自中国古代数学家张丘建的《算经》一书,描述如下:题目:有三种不同价格的鸡,分别是公鸡每只5个钱,母鸡每只3个钱,小鸡三只为1个钱。现在有100个钱,问如何用这100个钱恰好买到100只鸡,并且要求每种鸡至少有一只。原创 2024-03-14 15:04:45 · 506 阅读 · 1 评论 -
C语言之求等差数列
在C语言中,求等差数列的和主要有两种方法:一种是通过循环结构计算每项并累加;另一种是直接使用等差数列前n项和的公式进行计算。原创 2024-03-13 14:55:59 · 670 阅读 · 0 评论 -
C语言之求10!
在C语言中,计算10的阶乘(即10!)可以通过循环或者递归两种方式进行实现。原创 2024-03-13 15:04:41 · 593 阅读 · 0 评论 -
C语言之计算正方形的周长
使用C语言设计一个用于计算正方形周长的程序原创 2024-03-12 16:26:32 · 496 阅读 · 0 评论 -
C语言之猴子吃桃
一只猴子第一天摘下若干个桃子,当天吃掉了所摘桃子数的一半多一个。之后每天早上,猴子都会吃掉前一天剩下桃子数的一半多一个。直到第十天早上,猴子只剩下了一个桃子。原创 2024-03-12 16:21:32 · 1755 阅读 · 1 评论