- 博客(6)
- 收藏
- 关注
原创 用递归解决汉诺塔问题
4.目标规则:需要将 A 柱(起始柱)上的所有圆盘按照相同的顺序移动到另一根柱子C柱(目标柱)上,B 柱(中转柱)可作为中间过渡的辅助柱子。我们发现,在解决大问题的时候我们都要先需要解决一些相同类型的小问题,而解决大问题和解决小问题的方法是一样的,这就代表我们可以用递归来解决问题。答:把上面的3个盘子移动到B,把最下面的第4个移动到C,然后把上面的3个移动到C。答:把最上面的1个移动到B,把第2个移动到C,然后把最上面的1个移动到C。答:把上面的2个盘子移动到C,把第3个移动到B,然后把上面2个移动到B。
2025-03-08 23:44:02
733
原创 函数的嵌套和递归
2.可以嵌套调用:可以在定义别的函数的时候调用另一个已经定义好的函数,或者在main函数体内连续嵌套调用已经定义好的函数。这样的话就会报错,因为在定义out函数的过程中嵌套定义了inn函数。1.不可以嵌套定义:即不可以在函数定义中再定义函数。声明:函数不可以嵌套定义,但是能嵌套调用。定义:函数直接或者间接的调用自身。
2025-03-03 17:46:41
544
原创 c语言函数的类型
可以看到,在like函数中,并没有类似于a或者b这样的参数用于定义函数(无参数),like函数的作用就是打印“我喜欢csh”这一句话,没有返回任何值(无返回值)。同样的在add函数中a和b是参数(函数的有参数),但是add函数的目的是在把a和b相加以后直接打印输出,并没有返回值赋值的过程(无返回值)。在add函数中a和b是参数(这就是函数的有参数),然后add函数的目的是把a和b相加并返回一个整型数字(有返回值)。例如在上面的代码中:result=add(3,5)就可以写成result=3+5。
2025-03-01 22:46:29
227
原创 函数的传参(以通过函数实现两个数字交换为例)
可以看到虽然在函数体内x和y实现了交换,但是回到main函数之后两个数字打印出来之后并没有交换。是修改后的swap函数,成功实现了交换数字的目的。运行结果:在swap之前:x=7,y=11。在swao之中:x=11,y=7。在swap之后:x=7,y=11。
2025-02-27 23:02:10
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅