自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 扫雷游戏升级版 含递归链式展开(一次展开一片区域) 代码详细解读 C语言

我看了优快云有很多小伙伴也写了扫雷小游戏 但是大部分写的代码都是一次输入坐标只能展开一个位置并没有还原我们小时候最初始的游戏玩法 可玩性很低 我在这用函数递归链式展开一片还原最初始游戏 提高可玩性 一个程序代码的实现并不是只靠看能看会的 而是要落实到敲代码 可以先靠自己画导图 根据导图敲出代码 敲代码的过程中难免会有些错误 解决它 这都将成为你宝贵的知识 *在看的过程也可以拿出稿纸和笔来画出导图 本篇代码中 '0'(字符0)代表安全位置 '1'(字符1)代表雷 至于雷为何是'1'后面会提到

2024-11-23 16:17:08 2739 4

原创 Java写数据结构--单向无头非循环链表

【代码】Java写数据结构--单向无头非循环链表。

2025-03-31 19:41:06 560

原创 数据结构--顺序表小项目--简单洗牌算法(JAVA)

【代码】数据结构--顺序表小项目--简单洗牌算法(JAVA)

2025-03-31 09:02:00 175

原创 Java中的深层拷贝和浅层拷贝

【代码】Java中的深层拷贝和浅层拷贝。

2025-03-25 07:47:46 693

原创 java小项目:图书管理系统 代码分享

【代码】java小项目:图书管理系统 代码分享。

2025-03-24 09:37:29 389

原创 Java语法:抽象类和接口

/抽象类被abstract修饰//抽象方法,不用给出实例@OverrideSystem.out.println("画一个圆");//抽象子类//必须要先初始化//对于成员变量public static final是默认有的public static final String name = "圆";// String name = "圆";//成员方法//对于成员方法public abstrac是默认有的//usb接口//鼠标类实现usb接口。

2025-03-24 08:01:53 1470

原创 Java--多态

System.out.println(this.name + "正在吃东西");//重写eat@OverrideSystem.out.println(this.name + "正在吃虫子");//重写eat@OverrideSystem.out.println(this.name + "正在吃骨头");System.out.println(this.name + "正在吃东西");//重写eat@Override。

2025-03-23 07:19:42 742

原创 Java语法--继承

System.out.println(this.name + "正在吃东西");System.out.println(this.name + "正在喵喵叫");System.out.println(this.name + "正在汪汪叫");System.out.println(this.name + "正在吃东西");System.out.println(this.name + "正在喵喵叫");eat();//访问父类方法mimi();//访问子类方法cat.func();

2025-03-17 13:45:17 1204

原创 Java的类和对象

class Dog{//访问修饰符 类型 变量//成员变量//成员变量//成员方法(狗的行为)System.out.println(name + " 正在汪汪叫");class Dog{//访问修饰符 类型 变量//成员变量//成员变量//成员方法(狗的行为)System.out.println(name + " 正在汪汪叫");//实例化对象//用.号访问成员变量和成员方法(类似于C语言)dog1.name = "大黄";day = day;

2025-03-17 08:32:47 1276

原创 java中的方法(函数)重载

上面是求的是两个整形数字的求和,那么我们要求两个double类型的的数字的求和呢按照c语言的逻辑来写法就是这样↓如果要求三个整形数字相加呢?又要写成这样?什么是方法重载?在Java中,方法重载(Method Overloading)是指在同一个类中定义多个方法名相同,但参数列表(参数的个数、类型、顺序)不同的方法。 上述三个方法我们就能写成这样↓满足方法名一样,分别满足参数列表的类型不一样,个数不一样。调用的时候就会有以上所有的情况,根据传参的

2025-03-10 12:07:09 780

原创 C语言动态内存管理中malloc,calloc,realloc,free函数介绍

/calloc函数int main()//开辟10个大小为int型的内存 也一共40字节return 1;//存放1--10int i = 0;for (i = 0;i < 10;i++)//打印for (i = 0;i < 10;i++)//释放内存(必要)free(p);p = NULL;return 0;//realloc函数int main()return 1;//使用int i = 0;for (i = 0;i < 5;i++)

2025-03-03 09:11:14 1326 2

原创 C语言中结构体的内存对齐

/1字节int i;//4字节char a2;//1字节struct s2char a1;//1char a2;//1int i;//1字节int i;//4字节char a2;//1字节struct s2char a1;//1。

2025-02-24 12:48:26 1238

原创 C语言中的回调函数 以及应用

可以看到再switch的case语句中有大量的冗余 如何改进他就需要用到回调函数了 下面给出改进后的代码我们再结合一下回调函数的定义 回调函数作为参数传参 通过函数指针调用的函数 pa为函数指针 能够调用add,sub等函数 所以add,sub,mul,div为回调函数

2025-02-17 13:05:42 1011

原创 C语言中隐式类型转换 截断和整型提升

正常来说结果为130 但是运行结果为什么是↓

2025-02-10 14:04:33 1344 1

原创 C语言中 assert 和 const 的用法 以及完成优秀的代码 (debug)

int main()//const修饰普通变量时两种形式等价num = 20;return 0;= NULL);= NULL);两种表达是等价的;

2025-02-05 17:26:20 755

原创 C语言中 指针类型的意义

【代码】C语言中 指针类型的意义。

2025-01-22 16:41:46 477

原创 前置++与后置++的区别

【代码】前置++与后置++的区别。

2024-12-18 08:16:55 1681 1

原创 第十六届蓝桥杯软件校模拟赛C/CPP部分试题代码

【代码】第十六届蓝桥杯软件模拟赛C/CPP部分试题代码。

2024-12-11 07:53:26 4083 2

原创 移位操作符详解

/00000000000000000000000000001010 原码 32位//00000000000000000000000000001010 反码//00000000000000000000000000001010 补码//10000000000000000000000000001010 原码//11111111111111111111111111110101 反码//11111111111111111111111111110110 补码。

2024-12-05 11:49:50 2024 3

原创 大一机械学生自学C语言50天的历程与心得

1、迷茫自高考结束后直到填报志愿前 我都没有找到我感兴趣的专业方向 看到身边的朋友 学医 学机械 学生物 学计算机 学数学 甚至是 生物 化学大部分都是在高中时就展现出一定的兴趣 报志愿果断填报 而我为了好的就业 就只好志愿全填工科类专业 也如愿以偿的被录取到了一所省重点一本的机械工程专业 我也不确定是否对这个专业感兴趣 但当我了解到情况后 我对螺丝 螺母啥的 一点不了解 看到都头痛2、转机一次开学前的偶然机会 我来到我计算机那位同学的家里 看到他亲手用C语言 计算了一道数学问题 感

2024-11-24 11:22:01 733 2

原创 手把手教你写三子棋游戏代码 逐步逐析过程C语言

三子棋童年游戏 老少皆知***重点理解:game函数的逻辑就是先打印出初始化的棋盘→玩家移动(这里开始循环)→打印出移动后的棋盘→判断输赢→电脑移动→打印出电脑移动后的棋盘→判断输赢 最后根据游戏结果跳出循环 打印出来结果

2024-11-19 20:00:35 840 3

原创 冒泡排序C语言 循环解决 以及经典错误案例展示分析原因

1什么是冒泡排序?对一组整数进行排序 目标是升序2思想:两两相邻元素比较,有可能的话需要交换(循环比较)一趟冒泡排序只能让一个数字出现在最终位置上(循环趟数)例如经过9-1趟循环就能把顺序排成1 2 3 4 5 6 7 8 93代码展示↓*sz为数组的大小(有多少个数)4运行结果↓5错误案例可见并没有进行排序 问题出在哪呢?6分析原因比较两种写法很明显就是计算数组大小的sz放到了sort 函数里面去了 这种方法是不行

2024-11-17 11:12:41 591 2

原创 循环经典例题打印乘法口诀表C语言

乘法口诀表 我们并不陌生 能很清晰的想到图表是怎么样的 但是落到实际代码是 却无从下手接下来我将进行解析思路:1. 设计函数原型,不需要返回值,参数N表示乘法口诀表总共有多少行2. 设定两个循环,外层循环控制总共有多少行 内层循环控制每行有多少个表达式以及表达式中的内容接下来是代码展示↓*注意:函数中 外层for循环是控制的行数内层控制的是每行的列数运行结果↓ 以输入9为例

2024-11-14 15:18:06 322 3

原创 二分查找(折半查找)函数与非函数写法代码介绍及其优缺点 C语言

什么是二分查找?二分查找也叫折半查找 在有序的数组中查找目标的方法 需要借助中间元素与目标值的比较 来逐步缩小范围 一直到找到目标元素或者不存在为止查找的步骤↓1确定左右端点的下标值(注:数组下标从0开始)2计算中间下标位置3比较中间下标位置的数组值与目标值的大小(大于目标值继续,小于目标值继续,等于目标值找到了不需要继续)4不断重复直至不存在或者找到了函数代码展示↓注意:left right mid 都是下标运行结果↓补充一下:当找不时 w

2024-11-13 19:43:14 963 2

原创 函数递归写出库函数strlen内部计算字符串长度的本质C语言代码

/在不创建临时变量的情况之下** 求出字符串的长度//本质函数的递归//strlen的本质↓if (*arr!= '\0')//必要条件1//必要条件2//字符指针arr+1就是向后面跳一个字符//拓宽;整形指针+1就是像后面跳一个整形即四个字节elsereturn 0;int main()//数组名就是数组首个元素的地址//这里arr是U的地址//此函数就是写出strlen库函数的本质return 0;

2024-11-12 13:34:51 368 2

原创 C语言中递归经典例题求解青蛙跳台问题(函数递归+循环两种解法)图示过程+代码 与斐波那契数列的区别

当n=1时有一种跳法当n=2时有两种跳法当n>=3时 到n级台阶之前青蛙可能在n-1级也可能在n-2级 在n-1级时青蛙可能在n-2级也可能在n-3级这是思路可以借鉴斐波那契数列 青蛙跳台的ret数列是1 2 3 5 8.....斐波那契数列ret是 1 1 2 3 5 8.....这里为了方便以num==3为例

2024-11-11 23:12:51 674 2

原创 函数递归与循环(各自的优点与局限性+代码图片实例演示)

但是这样看来递归不如循环 实则不是 在大多数情况下递归的优先级是要高于循环的 这种情况只是在少数 还是那句话在递归不存在明显的效率问题和栈溢出的风险 代码量少的递归优于循环。一般能用递归解决的问题就用递归(代码量小) 但是递归存在明显的效率问题和栈溢出的风险 那么优先使用循环。但是当我们输入40是 可以显而易见的是用递归写的代码运算速度完全慢于用循环运算的速度 这是为什么呢?2.适用于问题的规模没有明显的缩减,或者需要特定的选代次数。2.适用于问题的规模可以通过递归调用不断减小的情况。

2024-11-10 10:04:39 491 3

原创 C语言函数递归求解汉诺塔问题(代码+图示过程讲解)

‌‌汉诺塔(Tower of Hanoi)是一个源于‌印度古老传说的益智玩具或游戏。‌ 根据传说,‌大梵天创造世界时,在三根金刚石柱子上按照大小顺序摞着64片‌黄金圆盘,要求将这些圆盘按顺序移动到另一根柱子上,且大圆盘不能放在小圆盘上面。这个游戏由‌法国数学家‌爱德华·卢卡斯在1883年发明,并成为一种流行的益智游戏。汉诺塔的玩法是将一个木桩上的圆盘转移到另一个木桩上,每次只能移动一个圆盘,且大圆盘不能放在小圆盘上面。常见的汉诺塔游戏包括三个木桩和多个不同大小的圆盘,玩家需要通过移动圆盘来完成目标。

2024-11-09 13:11:04 288 6

原创 在0到100之间猜数字的游戏代码(C语言)

/生成一个0到100的随机数 rand函数生成的数字在0到32767之间的数字。//rand函数使用之前要使用一个strand函数来设置随机数的生成器。// 游戏的逻辑就在game函数内。printf("选择错误 请重新选择\n");printf("恭喜你 猜对了\n");printf("游戏开始\n");printf("退出游戏\n");printf("猜小了\n");printf("猜大了\n");printf("请选择:");//在0到100之间猜大小的游戏。//*注:本人编辑器用的是vs。

2024-11-08 16:56:41 800 2

原创 浅谈我对递归的理解和认识

递归作为一种算法在程序设计语言中广泛应用,一个过程或者函数在其定义或说明中有直接或间接的调用自身。作为一种方法 通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。只需要少量的的程序就可以来描述出解题过程中所需要的多次重复计算 大大减少了程序的代码量。必要1:存在限制条件,当满足这个限制条件的时候递归就不在继续。程序运用自身的编程技巧叫做递归(recursion)递归中 递就是传递 归就是回归 先传递后回归。3.命题:用函数递归求一个数的阶乘。上述就是我对递归的浅层次理解。

2024-11-07 17:48:52 414 4

空空如也

空空如也

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

TA关注的人

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