- 博客(22)
- 收藏
- 关注
原创 Java 中数组的重难点
其中 array1 = array2 意味着 array1 这个引用指向了 array2 这个引用所指向的对象。所以 array1[2] = 300;会改变原来 array2 引用指向的数组的第3个元素的值。
2025-05-22 16:38:18
148
原创 汉诺塔的实现
可以发现所有层数的汉诺塔都得先把 n - 1 层盘按从下到上,从大到小的顺序放置到 B 上,通过C把A上的 n - 1 个盘放到 B hanoi(n - 1, pos 1, pose 3, pose 2),然后把 A 上的最大的放到 C 上 move(pos1, pose2)。后续 n - 1次同理 把 B 上的 n - 1 个盘通过 A 放到 C 上 hanoi(n - 1,pos2, pos1, pos 3)可以观察到第3层中有一个状态与第2层类似。欢迎大家在评论区交流。写成Java代码即为。
2025-05-22 14:49:35
196
原创 关于java数据类型与变量、运算符、程序逻辑控制、输入输出、方法有感(与C不一样的部分)
Java 的整形家族比 C 多了 byte 类型Java 的整形数据类型的二进制均为有符号整形,最左边的均为符号位,所以数据表达范围是 [-pow(2,n),pow(2,n - 1)]Java 的 boolean 类型与整形类型并没有关联(如 非0 不再代表 true 、0 不再代表 false)Java 由类型的加大版本,可以理解为有更多的功能 ,如 Integer、Character、Long、Short、Byte、Float、Double、Boolean。
2025-05-17 19:10:15
317
原创 青蛙跳台阶的三种解决方法
如何理解:可把 tem 看作 f(n) , first 看作f(n - 1), second 看做 f(n-2);first ,second 不断更新,不断储存着 f(n - 1) 与 f(n -2) 的值,这时 n 也在变化。好处:这种方法的核心在于只保存当前状态及其前几个必要状态的信息,从而减少不必要的存储开销并提高运行效率。思路:本质与递归并无区别,只不过通过循环的方式,只把上一次的的结果存下来了。法三:斐波那契数列法。
2025-04-25 21:16:50
169
原创 第6讲:函数
ret_type fun_name(形式参数)• ret_type 是函数返回类型• fun_name 是函数名• 括号中放的是形式参数• {}括起来的是函数体我们可以把函数想象成⼩型的⼀个加⼯⼚,⼯⼚得输⼊原材料,经过⼯⼚加⼯才能⽣产出产品,那函 数也是⼀样的,函数⼀般会输⼊⼀些值(可以是0个,也可以是多个),经过函数内的计算,得出结果。• ret_type 是⽤来表⽰函数计算结果的类型,有时候返回类型可以是 void ,表⽰什么都不返回• fun_name 是为了⽅便使⽤函数;
2025-04-23 13:18:44
611
原创 数组课后作业错题及反思
解析:cX和acY都是字符数组,但是初始化表达式不同,acX和acY的区别如下:acX:数组中总共有8个元素,分别是:'a','b','c','d','e','f','g','\0'acY:数组中总共有7个元素,分别是:'a','b','c','d','e','f','g'sizeof这里求的是数组大小,数组大小等于有效元素个数*每个元素的大小。strlen求的是字符串长度,从首元素开始计算,遇见‘\0’停止,由于acY数组没有'\0‘,所以strlen(acY)的结果是个随机值因此,选择C。
2025-04-19 22:10:06
732
原创 第5讲:数组
存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的大小和数组的元素类型。• type 指定的是数组中存放数据的类型,可以是: char、short、int、float 等,也可以自定义的类型。• arr_name 指的是数组名的名字,这个名字根据实际情况,起的有意义就⾏。• [] 中的常量值是⽤来指定数组的大小的,这个数组的大小是根据实际的需求指定就行。
2025-04-19 10:16:52
653
原创 分支和循环(下)
游戏要求:1. 电脑⾃动⽣成1~100的随机数2. 玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束。
2025-04-17 01:41:49
782
原创 分支与循环(上)错题
switch语句时多分支的选择语句,switch中表达式结果命中那个case,就执行该case子项,如果case子项后没有跟break语句,则继续往下执行。即:先在内部switch的default位置打印hello,紧接着在外部case2中打印third。switch语句中表达式的类型只能是:整形和枚举类型。D选项为浮点类型,不是整形和枚举类型。给定两个数,求这两个数的最大公约数。
2025-04-13 17:53:09
241
原创 分支与循环(上)
if语句if语句默认在 if 和 else 语句中默认都只控制⼀条语句,⽐如:上⾯的代码,你会发现输⼊的值不管是>=18还是<18."可以谈恋爱了"都会打印在屏幕上。这是因为 if 语句只能控制⼀条语句,就是 printf("成年了\n");,if语句为真,则打印成年了, if语句为假,则不打印,对于 printf("可以谈恋爱了\n");是独⽴存在的,不管if语句的条件的真 假,都会被执⾏。那如果我们要if语句同时控制2条语句,怎么办呢?那就要使⽤ {} 将代码括起来, else后也可以跟上⼤括号。
2025-04-13 13:06:50
807
原创 C语言数据类型和变量
这样不利于程序的可移植性。其实每⼀种数据类型有⾃⼰的取值范围,也就是存储的数值的最⼤值和最⼩值的区间,有了丰富的类 型,我们就可以在适当的场景下去选择适合的类型。sizeof 在代码进⾏编译的时候,就根据表达式的结果的类型,推到并确定了类型的⻓度,⽽表达式 真要被执⾏,却要在程序运⾏期间才会发⽣,如果在编译期间已经将 sizeof 处理掉了,所以在运⾏ 期间就不会执⾏表达式了。sizeof操作符:sizeof 是⼀个关键字,也是操作符,专⻔是⽤来计算 sizeof 的操作符数的类型⻓度的,单位是 字节。
2025-03-31 22:10:44
953
原创 使用VS注意事项
代码的位置自己最好管理起来,路径中尽量不要使用中文和空格。项目的名字要有意义,尽量不要使用中文和空格。源文件名称最后设置为test.c。
2025-03-31 21:28:15
125
原创 C语言常见概念
我们可以看到, arr1 字符数组在打印的时候,打印了 a 、 b 、 c 后还打印了⼀些随机值,这就是 因为 arr1 在末尾的地⽅没有 \0 字符作为结束标志,在打印的时候没有停⽌。这就是转义字符的问题, \n 是⼀个转义字符表⽰换⾏的意思,我们可以简单的理解为 \ 让 n 的意思 发⽣了转变, n 本来是⼀个普通的字符,被 \ 转义为换⾏的意思。看到三次打印的结果是⼀样的了,都是打印到 \0 的时候就停⽌了,那从上述的例⼦我们确实能够观 察到 \0 的作⽤和重要性的。
2025-03-31 20:25:25
789
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人