自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(182)
  • 收藏
  • 关注

原创 【2016】for循环求和

本文介绍了两种计算1到n整数和的方法。第一种使用for循环逐个累加,时间复杂度为O(n);第二种采用等差数列求和公式n(n+1)/2,时间复杂度优化为O(1)。两种方法均能在C语言中实现,适用于n≤100的数据规模。示例代码展示了这两种实现方式,输入输出样例显示对于n=10,正确结果为55。两种方法各有优势:循环法适用于任意累加计算,而公式法在大数据量时效率更高。

2025-11-13 14:50:17 413

原创 【2058】简单计算器

摘要:本文实现了一个支持加减乘除运算的简单计算器程序。程序读取两个操作数和一个运算符,根据运算符执行相应计算并输出结果。当除数为零时输出"Divided by zero!",遇到无效运算符时输出"Invalid operator!"。采用switch语句处理不同运算情况,使用%g格式输出结果以避免显示多余零值。该程序能正确处理整数和浮点数的基本四则运算,并包含必要的错误检测机制。

2025-11-13 14:49:27 436

原创 第7讲 Channel高级模式

本文深入探讨Go语言中Channel的高级用法,从基础概念到实战应用。首先介绍Channel的设计哲学和底层实现,包括无缓冲/有缓冲Channel的区别及select调度机制。然后详细解析Pipeline模式、扇出扇入模式以及错误处理方法。接着展示Channel在信号量、读写锁和事件总线等高级模式中的应用,并分析性能优化技巧和常见陷阱。最后通过构建高性能消息处理系统的实战案例,演示如何综合运用各种Channel模式。文章强调Channel不仅是数据传递工具,更是构建高效并发架构的基石,提供了从基础到进阶的完

2025-11-11 13:06:04 138

原创 【2056】最大的数

这段程序通过两种方法求三个数中的最大值:第一种使用if条件语句逐个比较,第二种使用三目运算符嵌套比较。输入三个双精度浮点数后,程序会先假设第一个数为最大值,然后依次与其他两个数比较,最终输出保留两位小数的最大值。两种实现方式结果相同,但三目运算符的写法更为简洁。

2025-11-11 13:02:45 193

原创 【2057】星期几

该程序实现数字到星期英文名称的转换:输入1-7的数字分别对应输出Monday到Sunday的英文星期名称,若输入其他数字则输出"inputerror!"。程序采用switch分支结构进行判断处理,通过scanf获取用户输入的数字,然后匹配对应的case分支输出相应的星期名称。样例输入1时输出Monday。这是一种典型的多条件分支处理实现方式,适用于这种固定映射关系的转换场景。

2025-11-11 13:01:53 128

原创 【1047】判断能否被3,5,7整除

该程序判断一个整数能否被3、5、7整除,并根据不同情况输出结果。程序首先检查该数能否被3、5、7整除,并统计能整除的个数。若能同时被3、5、7整除,输出"357";若只能被其中两个数整除,则按由小到大顺序输出对应的两个数字;若只能被一个数整除,则输出该数字;若都不能整除,则输出"n"。例如输入105(能被3、5、7整除),输出"357"。

2025-11-07 13:43:52 458

原创 【1045】收集瓶盖赢大奖

某饮料公司推出"收集瓶盖赢大奖"活动,要求拥有10个"幸运"瓶盖或20个"鼓励"瓶盖即可兑奖。程序输入两个整数分别表示两种瓶盖的数量,使用逻辑或运算判断是否满足兑奖条件,满足则输出1,否则输出0。如输入11和19,输出1,表示可以兑奖。该程序通过简单条件判断实现兑奖资格验证。

2025-11-07 13:43:05 297

原创 【1039】判断数正负

本文实现了一个简单的整数正负判断程序。程序接收一个整数N作为输入,通过条件判断语句输出对应的结果:当N>0时输出"positive";当N=0时输出"zero";当N<0时输出"negative"。程序使用标准C语言编写,通过scanf获取输入,利用if-else语句进行条件判断,并打印相应的结果字符串。该程序能处理-109到109范围内的整数输入,通过简单的逻辑实现基本数值分类功能。

2025-11-06 13:00:50 349

原创 【2055】收费

该程序计算飞机行李托运费用:行李≤20公斤按1.68元/公斤收费,>20公斤按1.98元/公斤收费。输入行李重量后,程序通过条件判断计算费用并保留两位小数输出。例如输入20.00时,输出33.60。程序使用C语言实现,包含输入、计算和输出三个步骤,采用双精度浮点数保证计算精度。

2025-11-06 12:59:58 396

原创 【2054】适合晨练

这段代码实现了一个简单的温度判断程序。根据输入的整数温度t值,程序会判断该温度是否在25到30度之间(含边界)。如果满足条件则输出"ok!",表示适合晨练;否则输出"no!"表示不适合。程序使用了基本的条件判断语句来实现这一功能,通过scanf获取用户输入,用if-else结构进行比较并输出结果。这是一个典型的条件判断程序,适用于简单的温度范围判断场景。

2025-11-04 13:53:35 377

原创 【2053】三个数排序

本文介绍了两种对三个整数进行从大到小排序的C语言实现方法。第一种采用冒泡排序思想,通过三次比较交换确保a≥b≥c。第二种使用中间变量法,先找出最大值,再比较剩余两个数确定次大值和最小值。两种方法均能实现三个数字的降序排列,输出格式为连续数字(如输入321输出321)。代码示例包含完整的输入输出处理和变量交换逻辑。

2025-11-04 13:52:32 175

原创 【2052】范围判断

该程序读取一个整数,判断其是否大于1且小于100。若满足条件则输出"yes",否则不输出。示例输入76时输出"yes"。程序使用简单的if语句进行条件判断,实现简洁明了的功能需求。

2025-11-03 21:26:05 407

原创 【2051】【例3.1】偶数

该程序要求读入正整数a,若为偶数则输出"yes"。实现方法是先读取输入,然后通过判断a%2是否等于0来确定其奇偶性。若条件成立则输出结果,否则不做任何处理。示例输入12时输出"yes"。程序使用C语言编写,包含标准的输入输出处理。

2025-11-03 21:24:54 269

原创 《高性能MySQL》第6讲:查询性能优化

本文深入探讨MySQL查询性能优化的关键技巧。通过类比烹饪过程,分析了查询性能的三大瓶颈:网络传输、CPU计算和I/O操作。重点讲解了如何优化数据访问(避免请求不需要的数据)、重构查询方式(切分复杂查询、分解关联查询)以及利用查询优化器的特性。文章提供了大量实用案例,包括COUNT()优化、LIMIT分页技巧、用户自定义变量应用等,并分享了队列表设计、地理位置计算等实际场景解决方案。最后总结出优化三原则:避免不必要查询、减少数据扫描和合理使用索引。

2025-11-02 14:49:53 305

原创 第6讲:Context机制深度应用

本文深入探讨Go语言中的Context机制,展示其作为并发系统"中央控制系统"的核心作用。Context通过树形结构显式传递截止时间、取消信号和请求域值,主要解决资源及时释放和请求生命周期管理问题。文章详细解析Context接口设计、取消信号传播机制、超时控制实现原理,并演示值传递的最佳实践(如使用类型安全键)。通过HTTP服务器和分布式任务系统等实战案例,说明Context在构建响应式系统、实现优雅关闭和管理复杂调用链中的应用价值。最后总结Context的三大核心功能:取消传播、超时控

2025-11-02 14:46:42 431

原创 【1038】苹果和虫子

本文讨论如何计算一箱苹果在遭受虫害后剩余的完整苹果数量。题目给出苹果总数n、虫子吃一个苹果所需时间x以及经过时间y。关键在于计算虫子在y小时内能吃掉多少个苹果(需向上取整),并确保不超过总数n。程序实现采用(y+x-1)/x计算吃掉数量,若超过n则取n,最后输出剩余苹果数n-eaten。如输入样例10、4、9时,虫子吃掉3个,剩余7个。

2025-11-02 14:43:21 360

原创 【1037】计算2的幂

这篇摘要介绍了计算2的n次方的两种方法。题目要求输入一个0≤n<31的非负整数n,输出2的n次方结果。第一种方法使用位运算(1左移n位),直接高效;第二种方法调用pow函数进行浮点运算再转换整数,效率较低。输入样例3对应输出8,示例代码演示了两种实现方式。

2025-10-29 10:17:06 277

原创 【1035】等差数列末项计算

本题要求根据等差数列的前两项a1和a2,计算第n项的值。输入包含三个整数a1、a2和n,输出为计算得到的第n项结果。解题思路是:首先求出公差d(d=a2-a1),然后利用等差数列公式an=a1+(n-1)*d计算第n项的值。例如输入样例1 4 100,输出结果为298。题目限定条件为-100≤a1,a2≤100,0<n≤1000。

2025-10-29 10:16:07 168

原创 【1034】计算三角形面积

摘要:该程序通过向量叉积公式计算三角形面积。输入三个顶点坐标(x1,y1)、(x2,y2)、(x3,y3),程序计算向量AB和AC的叉积绝对值,其半值即为三角形面积,结果保留两位小数。例如输入"0 0 4 0 0 3"输出"6.00"。核心公式为:面积=|(x2-x1)(y3-y1)-(x3-x1)(y2-y1)|/2。

2025-10-27 16:16:20 337

原创 【1033】计算线段长度

本文介绍了计算两点间距离的方法。给定两点A(Xa,Ya)和B(Xb,Yb),通过距离公式√[(Xb-Xa)²+(Yb-Ya)²]计算线段长度,结果保留3位小数。文中提供了两种C语言实现方案:第一种直接使用乘法运算求平方,第二种使用pow()函数求平方,均通过sqrt()函数开平方。输入坐标范围在±10000内,输出结果如样例"1 1 2 2"对应输出"1.414"。

2025-10-27 16:15:30 237

原创 【1030】计算球的体积

该程序计算给定半径的球体积。使用公式V=4/3*πr³,其中π取3.14。关键点包括:1)使用4.0/3.0避免整数除法;2)输入半径类型为double;3)输出保留两位小数。如输入4,输出267.95。程序通过定义π常量、正确计算分数和立方运算,实现了精确的球体积计算。

2025-10-26 14:23:32 400

原创 【1029】计算浮点数相除的余

摘要:题目要求计算两个双精度浮点数a和b的相除余数,其中余数r需满足a=k×b+r(k为整数,0≤r<b)。提供了两种实现方法:1)通过floor函数求商k再计算r=a-k*b;2)直接使用fmod函数获取余数。两种方法均能正确输出结果,如样例输入73.263和0.9973时输出0.4601。fmod函数的特点是返回结果符号与被除数a相同,且满足0≤|r|<|b|。程序需包含math.h头文件,使用%.4lf格式输出四位小数余数。

2025-10-26 14:22:32 165

原创 【2073】三角形面积

本文介绍了利用海伦公式计算三角形面积的方法。海伦公式通过三角形三边长a、b、c计算面积,先求半周长p=(a+b+c)/2,再套用公式sqrt[p(p-a)(p-b)(p-c)]。文中的C语言程序演示了具体实现过程:输入三边长,计算半周长,应用海伦公式求面积,最后输出保留3位小数的结果。示例输入"2.1 3.1 4.1"对应输出面积为3.179。该算法简单高效,是计算三角形面积的经典方法。

2025-10-25 11:25:25 261

原创 【2072】歌手大奖赛

摘要:题目给出6名评委打分的平均分9.6分,去掉最高分后的平均分为9.4分,去掉最低分后的平均分为9.8分。通过计算总分和差值求得最高分和最低分后,求出去掉这两个极端分数后的4个分数的平均分。程序使用C++实现计算,最终输出保留两位小数的结果。

2025-10-25 11:24:11 262

原创 【2071】平均分

摘要:该程序计算班级全体同学的平均分。已知男生人数x,女生人数y,男生平均分87,女生平均分85。程序通过计算总分(87x+85y)和总人数(x+y),得出平均分(总分/总人数)并保留4位小数输出。例如输入2 3时,输出85.8000。程序使用C语言实现,包含输入处理、计算和格式化输出功能。

2025-10-19 11:50:00 359

原创 【2070】数字对调

本文介绍了一个三位数对调百位和个位的程序设计方法。通过整除和取余运算分离出百位、十位和个位数字,然后重新组合(个位变百位,十位不变,百位变个位)实现数字对调。程序示例输入123,输出321。该算法展示了基本数字位操作技巧,适用于C语言等编程环境。

2025-10-19 11:48:59 305

原创 第5讲:并发原语底层实现

Go语言并发原语深度解析与实战应用 本文深入探讨了Go语言的并发原语实现机制,通过代码示例和性能分析展示了其设计哲学和最佳实践: 核心并发原语解析 sync.Mutex:基于状态机实现,通过CAS操作优化性能 sync.RWMutex:读写分离设计,提升读多写少场景性能 sync.WaitGroup:原子计数器实现goroutine协同 atomic包:硬件级原子操作,支撑无锁编程 底层实现机制 互斥锁的状态位管理(正常/饥饿模式) 读写锁的读者计数优化 WaitGroup的信号量实现 原子操作的CAS原理

2025-10-19 11:47:44 143

原创 【1028】字符菱形

本文展示了如何用C语言实现一个由给定字符构成的对角线长度为5的菱形。程序首先读取一个字符,然后分步输出菱形的上半部分(包括中间行)和下半部分,通过控制空格和字符数量来形成菱形图案。示例输入"*"时,输出一个由星号组成的5x5菱形。代码简洁明了,直接使用printf语句逐行输出菱形图案。

2025-10-18 11:45:10 201

原创 第4讲:Go运行时系统剖析

Go的运行时系统是一个特殊的组件,它直接嵌入在每个Go程序中,负责管理一些关键任务:goroutine的调度和执行内存分配和垃圾回收网络I/O和系统调用类型系统和反射支持panic和recover机制

2025-10-18 11:40:19 161

原创 第3讲:Go垃圾回收机制与性能优化

本文深入解析Go语言的垃圾回收机制,包括其演进历程、核心技术原理和性能优化策略。文章首先介绍Go GC从1.0到1.12+版本的重大改进,重点讲解三色标记法和混合写屏障技术的工作原理。随后详细分析GC触发机制、调优参数以及内存分析工具的使用方法,并通过构建一个GC友好的高性能缓存系统展示实践应用。文章还提供了对象复用、预分配等优化技巧,帮助开发者减少内存分配、提升程序性能。最后强调最佳实践是减少垃圾产生,通过合理设计数据结构和内存管理策略来平衡性能和可维护性。

2025-10-18 11:35:26 238

原创 第2讲:Go内存管理机制深度解析

本文深入解析了Go语言的内存管理机制,重点介绍了其多级内存分配器架构,包括mcache、mcentral和mheap三级缓存设计。文章详细阐述了Go如何根据对象大小采用不同的分配策略,并深入分析了mspan内存块管理、逃逸分析和三色标记垃圾回收等核心组件。通过构建高性能内存池的实战案例,展示了如何在实际项目中优化内存管理,包括固定大小内存池和多级内存池的实现。最后总结了内存管理的最佳实践,包括编程技巧、性能调优和调试方法。这些知识有助于开发者编写更高效、更稳定的Go程序。

2025-10-17 12:02:44 84

原创 【1027】输出浮点数

这段代码实现了一个双精度浮点数的格式化输出功能。程序读取一个双精度数,然后分别以四种格式输出:1)默认6位小数的%f格式;2)保留5位小数的%.5f格式;3)科学计数法%e格式;4)自动选择%f或%e的较短形式%g格式。每种格式都单独一行输出。例如输入12.3456789时,输出依次为12.345679、12.34568、1.234568e+001和12.3457。该程序演示了C语言中不同浮点数输出格式的用法和效果。

2025-10-17 12:00:18 361

原创 【1026】空格分隔输出

本题要求读取一个字符、整数和两种浮点数,并按指定格式输出。输入分四行给出,输出时各项用空格分隔,浮点数保留6位小数。程序使用C语言实现,通过scanf读取四种不同类型的数据,再用printf格式化输出,其中单精度浮点数用%.6f,双精度用%.6lf。样例输入输出演示了字符a、整数12、单精度2.3和双精度3.2的转换过程。关键点在于正确使用格式说明符控制浮点数精度。

2025-10-17 11:58:21 241

原创 第1讲:Go调度器GMP模型深度解析

Go语言通过GMP模型实现高效的goroutine调度:G(goroutine)是轻量级执行单元,M(machine)对应系统线程,P(processor)管理执行上下文。调度器采用工作窃取机制平衡负载,在系统调用、通道操作等时机触发调度。实战中,通过合理设置worker数量、混合任务类型和监控机制,可充分发挥GMP优势。关键优化点包括:根据CPU核心数配置GOMAXPROCS、避免goroutine泄漏、平衡CPU/I/O任务,这些策略能显著提升并发程序性能。

2025-10-16 12:39:43 224

原创 【1025】保留12位小数的浮点数

如何使用C语言读取并格式化输出双精度浮点数 本文介绍了一个简单的C语言程序,用于读取用户输入的双精度浮点数并按照指定格式输出。程序通过scanf()函数读取输入数据,存储在double类型变量中,然后使用printf()函数以保留12位小数的格式输出。示例演示了输入3.1415926535798932时,程序会输出3.141592653580。该程序展示了C语言中基本的数据输入输出操作和浮点数格式化方法。

2025-10-16 12:23:55 290

原创 【2069】糖果游戏

这篇摘要描述了幼儿园小朋友分糖果的模拟过程:5个编号为1-5的小朋友围坐一圈,依次将自己的糖果均分三份(余数吃掉),保留一份,其余两份分给左右相邻者。通过代码实现这个游戏规则,最终输出每位小朋友的糖果数(按5位宽度格式)。关键点包括处理圆桌相邻关系和确保计算时使用正确的糖果数值。输入样例89101112经过一轮分配后,输出结果为1179116。

2025-10-16 12:23:05 530

原创 【1031】反向输出一个三位数

这段C语言程序实现了将一个三位数反向输出的功能。程序通过取整和取余运算分离出输入数字的百位、十位和个位数字,然后按照个位、十位、百位的顺序重新组合输出。例如输入100,程序会输出001。关键步骤包括:获取百位数(n/100)、十位数((n/10)%10)和个位数(n%10),最后按逆序输出这三个数字。该方法简洁高效,适用于所有三位数的反向输出需求。

2025-10-15 15:12:54 265

原创 【1020】打印ASCII码

这篇文章介绍了如何获取字符的ASCII码值。程序通过scanf读取一个可见字符,然后用printf以十进制格式输出该字符对应的ASCII码值。关键点在于理解字符在计算机中以ASCII码存储,使用%d格式说明符可直接输出其编码值。示例演示了输入"A"时输出65的过程,程序简洁明了地实现了字符到ASCII码的转换功能。

2025-10-15 15:11:45 269

原创 【1019】浮点数向零舍入

该题要求将单精度浮点数向零舍入为整数。解题关键是通过强制类型转换实现:正数向下舍入(如2.3→2),负数向上舍入(如-2.3→-2)。程序使用C语言,通过(float)强制转换为int实现。输入输出样例展示了该方法的效果,与其他取整方式(四舍五入、向上/向下取整)形成对比。该解法简洁高效,直接利用类型转换特性满足题目要求。

2025-10-14 13:18:39 503

原创 【1018】其他数据类型存储空间大小

本文介绍了如何定义bool和char类型变量并输出其存储空间大小。在C语言中,bool类型通常占1字节(需包含stdbool.h头文件),char类型固定为1字节。程序使用sizeof运算符获取变量大小,并通过printf输出结果。示例代码展示了具体的实现方法,输出结果为两个1字节的整数,用空格分隔。

2025-10-14 13:17:31 390

空空如也

空空如也

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

TA关注的人

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