C语言实战经验
文章平均质量分 64
在C程序开发中总结出的经验,包括问题的处理解决,以及功能的记录
寒冰小澈IceClean
一只努力的小澈
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C语言】B 树全代码实现与超超详细思路解读(五天的呕心沥血,绝对原创每个细节,详解查找、插入与删除)
本文详细解读了 B 树的查找、插入与删除代码,其中代码有大量的注释,同时还附上了个人的编写思路、代码总体思路、应该注意的地方以及需要避开的坑等等。对于某些需要解释的参数,也都做了详细的说明。相信看完本篇博客,即便不参考文中的代码,手撕一份 B 树也是没问题的啦原创 2021-12-05 13:10:45 · 4152 阅读 · 14 评论 -
【C语言】打印二叉树树形(制表符实现,清晰+高拓展)(2022-10-22 更新—偏移量说明)
—— 目录 ——0. 前言1. 效果展示2. 核心代码及解读3. 辅助代码0. 前言上 优快云 找了很多份树形代码,一个共通的感觉就是拓展性不够强比如说树大了节点之间被撑开无法兼容性不好没有使用树枝连接的画显示稍显混乱,使用斜线当树枝又不好拓展还有一部分就是代码太冗长看不懂基于此,我打算用回制表符,力求清晰显示出树形肝了几个小时的代码,过程中一点一点调出来树形代码部分也在不断优化,思路在不断的调试中也不断改变最后总结出一种以绝对偏移量画树形的方法,下边将一一对代码进行解释1. 效果展原创 2021-11-01 13:41:45 · 11278 阅读 · 34 评论 -
【C实战经验】C语言基础算法归纳总结(持续补全)
介绍了冒泡排序、选择排序、快速排序、插入排序、归并排序和二分法查找的实现方法和原理。链表增加结点的四种方式:头插法、尾插法、随机插法、下标插法,查找中间结点,判断链表成环以及偶数结点反转的实现方法。两数交换的三种方法:中间量法,加减乘除法和异或法,以及判断素数、最大公约数、最小公倍数、进制转换原创 2021-03-21 08:09:22 · 1619 阅读 · 6 评论 -
C语言输出斐波那契(Fibonacci)数列的前n项【优化】
方法:利用取余运算使数组中的元素被循环修改与取出int main(){ int f[2] = {1, 0}; int num, i; printf("input num:"); scanf("%d", &num); for(i=0; i < num; i++) { printf("%d\t", f[i%2]); f[(i+1)%2] += f[i%2]; } return 0;}...原创 2021-03-06 11:50:33 · 3270 阅读 · 4 评论 -
【C语言皮一下】对数组进行整体赋值
【数组不能整体赋值!!!】老师的原创 2021-01-23 11:55:39 · 7296 阅读 · 0 评论 -
C语言实现 帅气 的进度条~
将解决的问题① 层叠覆盖实现进度条② 改变光标位置③ 改变控制台字体颜色(详见C语言实现改变控制台字体颜色)在开发程序时,通常有一些特殊的需求来满足美观的界面这就需要各种类似控件的存在,进度条就是一种实现思路进度条的实现方法很容易想到:不断绘制某一个固定的符号。但单纯的符号绘制难免有些枯燥,这时候就需要颜色变换来帮忙啦~帅气进度条Go: 使用不同颜色绘制进度条背景和进度条进度(背景绘制完需要将光标指回绘制背景的起点,通过覆盖的方式绘制进度)代码实现:绘制进度条的各参数:int x原创 2021-01-22 21:40:37 · 1363 阅读 · 2 评论 -
C语言实现改变控制台字体颜色
控制台大多数默认是黑底白字的,有时看起来总会有点枯燥,这时候可以改变字体颜色来缓解在设置颜色时,每个数值都代表着对应的颜色,改变颜色依靠改变参数的数值,对照表如下:0 = 黑色 8 = 灰色1 = 蓝色 9 = 淡蓝色2 = 绿色 A = 淡绿色3 = 浅绿色 B = 淡浅绿色4 = 红色 C = 淡红色5 = 紫色 D = 淡紫色6 = 黄色 E = 淡黄色7 = 白色 F = 亮白色颜色的改原创 2021-01-22 20:57:58 · 7345 阅读 · 1 评论 -
【C语言进阶】windows下的多线程该怎么实现?附实战:实现一边倒计时一边输入单词
将会解决的问题① 创建多个线程(倒计时与输入同时进行)② 改变光标的位置③ 删除控制台上已经输出的字符在最近的程序设计中,遇到了这么一个问题:在一个英语单词拼写程序中,想要添加一个计时功能:给出一个计时器显示倒计时,当时间到了如果还没成功拼写便切到下一个单词这个功能乍一看感觉不难,也就是新建一个循环每秒将预定时间减少1,然后打印出来。但很快问题出来了,如果要计时,就必须在循环里边不断打印,无法执行输入语句,同样要执行输入语句就没办法计时。该怎么解决?答案就是使用多线程,将倒计时放在一个原创 2021-01-21 18:08:40 · 3984 阅读 · 3 评论 -
printf是如何实现可变参数的?自定义函数能否实现参数可变?【C语言】
序在我们使用C语言的printf和scanf函数时,是否有好奇过它到底是怎么实现参数任意多的呢?(开始以为是系统自带的,有无小伙伴一起的2333)好奇心驱使下,终于了解到具体的实现方法接下来就一起一步一步揭秘吧 ohhh!!# 首先进行比较简单的可变参数自定义函数代码先挂上:#include <stdio.h>#include <stdarg.h>void myPrintf(int n, ...){ int i; va_list val; va_start原创 2021-01-18 23:25:46 · 1454 阅读 · 0 评论 -
C语言判断scanf输入的是否为整型,以及由此造成死循环的解决办法
aaaaaa第三篇赶上!判断scanf输入的是否为整型# 需求很多时候我们需要用scanf输入数据,但人为输入的数据可能不符合指定的类型,自然地我们想到了判断输入类型是否正确。# 实现那该怎么实现呢?这里我们可以利用scanf的返回值:scanf返回值:返回成功读入的数据项数既然这样,那只需要加一个循环,每次检测录入的数据项数是否为全部数据的个数,不是则说明有内容没有录取到(即出现非法字符),此时可以输出提示要求重新输入。自然地我们写出以下代码://以检查输入的是否一个整型为例(VS201原创 2021-01-16 23:11:33 · 4368 阅读 · 11 评论 -
C语言 文件操作中一些问题的解决方法(空文件处理&重复读取)
(ahhh第二篇来了!!打卡!)问题总结最近在文件操作这一块遇到了一些问题,总的来说有以下:① 文件为空时,依旧执行读取语句② 读取文件内容时,最后一个内容会被重复读取代码问题&解决方案问题发现对于①,很多时候会因为文件为空而导致程序错误,代码写的好好的理论上没问题怎么就错了呢?下面是一段常犯的错误代码://(VS2019)FILE* fp;fopen_s(&fp, name, "r"); // 名字为 name 的文件if(fp != NULL){ while原创 2021-01-15 21:00:12 · 3899 阅读 · 5 评论 -
万恶的3221225477,到底该怎么解决?
万恶的3221225477ohhhhh!!第一篇博客来啦希望开个好头后以后能坚持下去吧!(本人大一)期末的课程设计已经告一段落,在编写过程中要说出问题最多的,就是这个!!很多时候程序就这么结束了,调试半天才找到问题。好在这么多次出错后,这个错误的也逐渐好解决了。个人总结有一下3点:① 可能是向常量区写入了内容,如 char *string; scanf("%s", string); 就会出错,原因是string存放在常量区,不能被改写,只能被重新赋值给予新的内存。② 也可能由于粗心,在使原创 2021-01-13 17:34:55 · 43008 阅读 · 25 评论
分享