- 博客(53)
- 收藏
- 关注
原创 算法中的二分法(二分查找)详解及示例
,确保找到的是“第一个”符合条件的元素。// 查找第一个大于等于target的位置:arr=目标数组,len=数组长度,target=目标值。每次将查找范围分成两半,排除不可能包含目标值的一半,仅在可能包含目标值的另一半继续查找。// 二分查找函数:arr=目标数组,len=数组长度,target=要查找的目标值。实际编程中,除了查找“等于”目标值的位置,更常用的是二分查找的变种,例如查找“”的核心,适合查找数组中是否存在某个目标值,并返回其具体位置。,查找第一个大于等于 7 的元素,返回其下标。
2026-04-16 20:32:57
318
原创 成绩评定神器:一键判断分数等级
百分制成绩划分等级百分制成绩划分等级在课程成绩评定中,将学生的成绩分为优秀、良好、中等、及格和不及格5个等 级。其中小于60分为不及格;60~69分之间为及格;70~79分之间为中等;80~89之间为良好;90~100之间为优秀。编写一个程序,要求输入一个学生的考试成绩,输出其分数和对应的等级。输入学生成绩,判断并输出对应的等级。
2026-04-15 19:11:53
307
原创 闰年判断:C语言实战解析
或者能被400整除。则输出“该年份是闰年”,否则输出“该年份不是闰年”。输入某个年份,如果能被4整除,但不能被100整除;能被4整除,但不能被100整除(普通闰年)。符号就是用来获取变量在内存中的地址。能被400整除(世纪闰年)。整型(integer)值。如果为假(false)如果为真(true)逻辑或(OR)运算符。
2026-04-14 20:00:54
304
原创 C语言入门:a和b 比大小
printf("请输入两个数:\n");if (a > b)printf("较大的数是:%d\n", a);elseprintf("较大的数是:%d\n", b);return 0;这段代码是一个非常经典的 C 语言入门程序,它的功能是。和。🧩 代码结构解析1. 变量声明。
2026-04-14 19:51:06
302
原创 破解数字谜题:xyz+yzz=532
这个等式来源于题目 xyz + yzz = 532,其中 xyz和 yzz分别代表两个三位数,而不是x*y*z。代码的核心思想是遍历所有可能的数字组合,直到找到能让等式成立的那一组。我们先来理解一下这个等式是如何变形的。
2026-04-13 01:23:17
177
原创 C语言实现:特定九九乘法表全解析
🧩 代码结构解析九九乘法表,输出如下格式的九九乘法表int main()printf("九九乘法表:\n");int i,j;for(i=1;i<=9;j<=9;🧩 代码结构解析1. 变量声明i。
2026-04-13 00:56:43
120
原创 循环验证高斯求和:1加到100
这段代码通过一个简单的循环,高效地完成了 100 次加法运算。最终结果:程序运行后,sum的值将是5050。数学验证:这个结果可以通过著名的高斯求和公式来验证。当n=100时,100 * (100 + 1) / 2 = 5050。
2026-04-12 20:45:30
164
原创 显示器插座最短连线算法 (蓝桥杯十六届C组编程题 D题)
第二步:给插座排队(冒泡排序)目的:同理,把所有插座也按照坐标从小到大排列。第三步:一一对应连线(贪心策略)核心逻辑现在显示器排好队了,插座也排好队了。我们让第 1 个显示器连第 1 个插座第 2 个显示器连第 2 个插座……以此类推。这就是所谓的“贪心算法排序后一一对应,总距离最短。计算距离:算出两个坐标的差。:这一步是在求绝对值。因为线长不能是负数,比如插座在左边(坐标小),显示器在右边(坐标大),减出来是负数,我们要把它变成正数。累加:把每一根线的长度都加到里。注意:这里用了。
2026-04-07 22:56:08
448
原创 2025 图形(蓝桥杯十六届C组程序题 C 题)
draw2025函数(印刷机器)样例输入:4 5样例输出:20252025202520252025draw2025函数(印刷机器)。参数含义i。
2026-04-07 20:33:00
357
原创 10个数下标排序:最大值、最小值与平均值(下)
第一个问题从键盘输入10个整数,按照从大到小的顺序输出,并统计最大值及其下标、最小值及其下标、平均值以及小于平均值的数字个数。上篇文章,有两个问题留给大家,第一:在找最大值、最小值时,因为这道题的特殊原因,我的循环条件分别写的是 i == 0 和 i == 9,如果是一般情况,循环条件该怎么写第二:如果使用者在输入的时候没有按从大到小的顺序,那么在总程序中需要设计一段验证程序,这段程序该怎么写呢?第一个问题。
2026-04-07 19:39:12
357
原创 C语言成绩统计:15名学生的数据分析
这段代码是一个非常标准的C语言入门程序,主要目的是处理一组数据(15个学生的成绩)并进行统计分析。为了让你更直观地理解,我们可以把这段代码想象成一个“”的工作流程。它的工作分为四个主要阶段:准备阶段、录入与检查阶段、计算阶段和汇报阶段。下面我为你逐行详细解析:🛠️ 第一阶段:准备工具(变量定义)
2026-04-06 19:56:24
381
原创 解密2025数字密码:数位统计之谜(蓝桥杯十六届C组 B题)
它不玩任何数学捷径,而是老老实实地把 1 到 20250412 之间的每一个数都拆开来看,数一数里面有几个 0、2、5,符合要求的就留下来计数。找出 1 到 20250412 之间,所有包含“至少一个 0、两个 2、一个 5”的数字,并统计它们的总数量。这个函数是代码的“质检员”,负责检查每一个数字是否合格。一个数如果能通过重新排列得到“2025”,那么它。遍历所有数字,并调用 check 函数进行筛选。只有全满足才返回 1。简单来说,它的任务是。这段代码是在解决一个。
2026-04-02 21:45:11
266
原创 揭秘:20万内数位和能被5整除的数(十六届蓝桥杯C组 A题)
🎯 设定目标这道题其实是在解决一个数学统计问题。🎯 设定目标n = 202504count = 0tally01i = 0i = 2025040i = 1这是代码最核心的部分,i为了让你看懂,我们假设当前i = 123i。为什么要复制?/ 10123 除以 10 变成。numsumnumnumsumnumnum最终,对于数字 123,程序算出了sum = 6。✅ 判断与统计count ++
2026-04-02 20:35:15
398
原创 10个数字的冒泡排序魔法
这段代码是一个经典的程序。它的目的是让用户输入 10 个整数,然后按照的顺序排列并打印出来。📥 第一步:准备与输入(搬砖进场)
2026-04-02 19:41:19
299
原创 巧用C语言代码绘制数字三角阵
这一步是代码里第一个 for 循环在做的事情。我们把那些复杂的代码术语抛开,用最生活化的方式来理解这段程序。想象一下,你面前有一张 100 个格子的表格。你可以把这段代码想象成是在。
2026-04-02 19:26:53
311
原创 揭秘杨辉三角的C语言实现
#include <stdio.h>int main(){ int n; scanf("%d",&n); printf("\n"); int a[n][n] = {0}; for (int i = 0; i < n; i++) { a[i][0] = 1; a[i][i] = 1; for (int j = 1; j < i; j++) { a[i][j]
2026-03-31 17:09:29
397
原创 C语言实战:学生成绩统计与分析
你画了一个 5行3列 的格子,把大家原本的成绩填了进去。最后,程序把计算好的结果,分门别类地打印出来。每看到一门成绩,就把它扔进对应科目的“里记录的“当前老大”(最高分)比一比。格式化输出平均分,保留一位小数。的工作流程,用大白话来拆解它。🎬 场景一:记账(数据准备)数组存储的是每门课的总分。每看到一个成绩,就拿它和。每看到一个成绩,就拿它和。的第 j 门课成绩累加到。数组里存的是5个人的总分。我们把这段代码想象成一个。双重循环(大扫除式检查)
2026-03-31 16:24:39
297
原创 用C语言实现唐诗输入输出
它通过一个循环,连续四次从用户那里获取输入,并将每一行输入存储在一个二维字符数组中。在获取完所有输入后,再通过另一个循环将这个数组中的内容逐行打印到屏幕上,从而实现了对一首四句诗的完整输入和输出。
2026-03-30 21:53:37
327
原创 C语言密码验证:3次机会解锁
可能覆盖掉程序中其他重要数据,导致程序崩溃或产生安全漏洞。在实际编程中,应始终使用。函数非常不安全,因为它不检查输入的长度。如果用户输入的字符超过数组。这保证了用户至少会被提示输入一次密码。循环会一直执行,直到条件。不再满足(即 i 的值变为3)为止。:引入字符串处理库。的大小(10个字节),就会发生。函数来比较两个字符串是否相等。
2026-03-30 21:43:15
375
原创 从零到一:同学通讯录代码优化之路
这个版本在第一段的基础上进行了关键改进,提升了程序的灵活性。这是三个版本中最成熟、最规范的实现,体现了良好的编程实践。第一段代码:基础固定版。第二段代码:动态长度版。
2026-03-29 19:48:39
374
原创 C语言结构体:学生信息统计实战
如果你要交换两个学生的信息,你需要同时交换这三个数组中对应下标的数据,非常容易出错且代码冗余。这段代码是一个非常经典的 C 语言入门示例,主要展示了结构体(struct)的。(因为会发生内存拷贝)。通常使用结构体指针。,使得操作(如赋值、传递、交换)可以针对“是 C 语言中操作结构体指针的专用语法糖。: 这里定义了一个新的数据类型,名为。在处理大量数据(如学生列表)时,这些成员大小的简单相加。虽然我们在定义时写了。
2026-03-23 21:27:01
383
原创 由指针秒用引出的指针知识
(Pass by Value),即函数内部修改参数不会影响外部变量。这是 C 语言最强大的特性之一。在大多数表达式中会自动退化为。,从而能进行智能的加减运算。(指针),我们需要一种方式去。这段代码虽然短小,但它是一个。
2026-03-20 01:26:06
348
原创 指针交换变量值的C语言秘籍
tap2b主函数:mainscanf&aaab0x7fff...f1p1p2mainab这是 C 语言初学者最大的痛点:为什么不能直接传a和b?
2026-03-17 17:25:31
294
原创 递归破解汉诺塔:N层移动全攻略
编写自定义的递归函数,求解N层汉诺塔问题。编写自定义的递归函数,求解N层汉诺塔问题。N由用户输入,输出N层汉诺塔的移动步骤,如 用户输入N值为3,则输出步骤:A->CA->BC->BA->CB->AB->CA->Celseint main()int n;printf("请输入n个盘子:\n");printf("移动的步骤:%d\n",n);return 0;
2026-03-15 19:49:55
354
原创 C语言使用嵌套函数 实现高效组合数计算
#include <stdio.h>long long combination(int m, int n) { if (m < n || n < 0) return -1; if (n == 0 || n == m) return 1; if (n > m / 2) { n = m - n; } long long result = 1; for (int i = 1; i <= n; i++) {
2026-03-11 20:28:21
358
原创 冒泡排序实现C语言成绩排名
printf("第%d名:%.1f分\n",i+1,scores[i]);printf("排序后的C语言成绩(从小到大):\n");f1 函数:格式化输出。
2026-03-10 20:31:06
274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅