作业练习记录12.12-12.13

本文记录了作者在学习编程过程中遇到的挑战,如计算阶乘的错误、二分查找的调试过程,以及对C语言函数参数的理解。作者强调了编程中的实践和调试的重要性。
摘要由CSDN通过智能技术生成

       今天复盘P36的练习题,发现搞代码真的好费时间啊,折腾好久了,明明现在时间又很紧张。

       1、计算n!的连加时,我可以写出两个for循环嵌套的代码了,但是中间遇到了一些小问题,跟鹏哥遇到的一摸一样,但是我却不能解决,甚至连调试代码都不会,只好回去看视频,看鹏哥是如何解决的。好在一顿操作下来,我也学会了初步调试代码,像鹏哥在视频里面的那样。

       但是后面我又发现昨天自己写出来计算n!的代码不行了,我自己重新写的算不出来结果 ,就是由大到小计算的那个代码,很无语。我根本看不出来哪里错了……

      啊我通过调试终于发现了猫腻!!!原来是因为i<=n的缘故,导致计算最后一个值时n会乘上0,导致最后输出的结果是0。 

        2、经过一遍遍的调试,我终于写出了在一个有序数组中查找一个具体数的代码,我真调试了五六遍呀,一开始都是写错的,但是自己发现不了,只能通过调试来发现。int main = left +(right-left)/2这样可以防止溢出。

       后面写完这个代码产生了一些想法,我能不能在数组中存入n个数,然后在这n个数中查找我想要的那个数字。然后就想改造我这个代码,于是先解决如何将n个数存入数组中这个问题。然后我写出了下面这个代码,在我的想法中,这个应该是可以实现的。运行后确实可以实现,但是也会报错……至于为啥会出现这个错误我就不明白了,但是我可以肯定这跟数组是有关系的。

        话说搞代码是真耗费时间啊,整这个二分查找的代码搞了一个小时……本来现在时间就很紧张,很痛苦啊。 

       现在学到后面知道为啥会报错啦,没有指定数组元素中的个数时,数组就会根据初始化的内容来推算元素的个数,一旦存入多余的元素就会越界报错。——P51,00:15。

        2、编写代码,演示多个字符从两端移动,向中间汇聚,这个代码感觉不难,鹏哥讲起来很清楚不太难,里面新学了两个函数sleep和strlen,strlen其实鹏哥之前讲过,但这应该是我第一次使用,这个是用来统计字符串长度的一个函数,只会统计\0之前的字符。

        3、编写以下这个代码时,输入密码三次错误会报错,是因为数组的问题。当填上20时,后面就不会报错了,之前我记得老师讲这个东西时说可以不填的,数组会自动来确定元素的个数。

       另外新学习了一个函数strcmp(x,y),用来比较两个字符串是否相等,string.h是这个函数的头文件。

        4、猜数字游戏,这个代码的难度主要在于如何生成一个随机数,这牵扯到三个函数rand、srand、和time,听的时候感觉这几个函数云雾缭绕奇奇怪怪,我现在还不是很了解具体作用,只是大概记住了。一整个长截图看下来代码还是漫长的。

        5、现在练习到了函数的部分,鹏哥讲了函数的实际参数和形式参数,很好懂,他用一个例子讲的很明白,确实通俗易懂。我应该是在11.9正式跟鹏哥学习C语言,然后12月月初几天看到了P60,又回去重新看一遍+练代码。之前看的一遍几乎没怎么写过代码,现在才真正来讲鹏哥的代码复现一遍。只是感慨时间过得太快,浪费了好多时间,现在时间多紧张啊。自己多写几遍代码,确实会更加自信!读书百遍其义自见这是真理呀!!!

       鹏哥讲到这里揭示了形参与实参之间的关系,形式参数只是实际参数的临时拷贝,改变形式参数并不会改变实际参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值