- 博客(14)
- 收藏
- 关注
原创 《C语言大学教程(第八版)》第五章 课后习题 5.36参考答案
我想要培养的是一种思考问题、解决问题的能力,如果事事都直接问chatgpt,到最后就会成为chatgpt的奴隶,对chatgpt产生依赖,一旦离开chatgpt,你什么也不会了,这不是我想要的。我不仅感慨,学无止境,每完成一道难题的学习,够更加感觉自身的渺小,内心的浮躁和骄傲也都少了一分,还得是保持一颗谦卑的心态啊。当我第一次学习书中递归的概念时,通过书中两处对递归的阐述,进入了一种定势思维,认定递归必须要有return返回值,即认为习题5.36的递归中,也都必须要有return返回值。
2023-07-07 16:59:05
232
原创 《C语言大学教程(第八版)》第五章 课后习题 5.35参考答案
注意,上述代码中,变量a和变量b是前两个不成规律的数,直接给出。一个细节,for循环语句头里面的变量x是从0开始。这道题目有点儿意思,前两个数不成规律,从第三个数开始有规律。面对这样的问题,无法使用直接的思路去解决。既然,前两个数不成规律,那干脆将前两个数直接给出,从有规律的第三个数开始计算。
2023-07-03 14:20:14
115
原创 欧几里得算法最简单的理解方法
到这里,如果觉得还是很混乱,也正常,接下来,我们会以一种更简单的方式阐述。通过用较大的数除以较小的数,我们可以得到一个等式,将较大的数表示为较小的数的倍数加上余数。3.当上述最理想的情况没有出现时,意味着,此时,两个数的关系为,不相等且一个数大一个数小。同样地,如果我们假设d是30、12和72的公约数,那么我们可以得出结论,如果d能够整除30和12,那么它也能整除72。最近,在学习《C语言大学教程(第八版)》,在第五章学习了递归,在课后练习题5.29中遇到了求两个整数的最大公约数,使用递归的方法。
2023-06-29 20:30:36
148
原创 《C语言大学教程(第八版)》第五章 课后习题 5.29参考答案
将用两种不同的方式来解。第一种,判断的方式。第二种递归的方式,使用到了欧几里得算法又叫循环相除法。这是一道非常有意思的题目。
2023-06-29 11:42:12
171
原创 《C语言大学教程(第八版)》第五章 课后习题 5.34参考答案
回想递归的定义是调用自己的函数,要有基线条件,规模要不断减小避免无穷递归。根据本道题目中已经给出的提示,对应的把幂参数当做规模不断减小的条件,进而找到本题的解法。本书第一个自己写的递归练习题,必须纪念一下,从上大学起,人生第一次接触递归的概念,就觉得很高端,今天好好感悟一下。
2023-06-25 16:39:05
162
原创 《C语言大学教程(第八版)》第五章 课后习题 5.32 -5.33参考答案
这个结果是以当前的编译器实际的运行结果得出的,也就是说,第一次调用scanf后,在输入缓冲区留下的换行符,会在第二次调用scanf时,被跳过,因为scanf传入了%d,只识别整数型变量。这里的消耗掉,其本质是,getchar负责读取一个字符,把输入缓冲区留下的这一个换行符读取出来,输入缓冲区就没有这个换行符了,即消耗掉。如果,不对其进行处理,当进行下一次while循环时,scanf也不会按照预期等待新的输入,而是读取第一次进入while循环后,调用scanf,留在输入缓冲区的换行符。现在看来,都是值得的。
2023-06-21 19:04:01
492
原创 《C语言大学教程(第八版)》第五章 课后习题 5.19-5.20-5.21 参考答案
需要注意的点,在第4章,4.7节,switch多重选择语句的示例中,有提到过处理“换行”、“tab”和“空格”字符相关内容。那里使用的是switch多重选择语句,同时,也提到switch多重选择语句中的case只能进行整型数据判断,显然在5.21这道题目中不适合使用,需要对此查询相应的解决办法。在每次输入后,都需要按下回车键把内容输入,回车键即换行符“\n”本身属于字符,也就是说,每次按下回车键会对应产生一个字符为换行符“\n”,它也会被读取。注意,在scanf中的%c前面,添加一个空格。
2023-06-09 11:42:03
160
原创 《C语言大学教程(第八版)》第五章 课后习题 5.27 参考答案
因此,我回过头来,静下心想了想:假设作者不会出错,那作者既然讲到了n/2和n的平方根,那作者一定有其用意,我没想到,那自然是自身还有所不足,那就跟着作者的思路,去尝试着把心中的疑问解决一下。此时,我们把n/2和n的平方根,两种方法的判断条件修改为题目中要求的1-10000,运行,以肉眼的感官,如果你的机器硬件配置本身很高的话,很难察觉出速度上的变化。读完上面这段话,我整个人,当场就傻了,我完全搞不明白,为什么会扯到n/2和n的平方根,我根本不知道作者在讲什么,我甚至一度自信的以为,自己找到了更流弊的解法。
2023-06-01 18:36:13
352
原创 《C语言大学教程(第八版)》第四章 课后习题 4.35 参考答案
注意,for语句头里面的判断条件设置为两部分。一开始,遇到这道题目,一头雾水,后来几经查阅,获得启发。通过使用等价的结构,去掉break;for语句头里面的判断条件可以设置多个部分。
2023-05-17 14:57:18
117
原创 《C语言大学教程(第八版)》第四章 课后习题 4.33 参考答案
这道题目,映入眼帘,瞬间懵了,根本不知道如何下手,也是查询了一下,明白了解题思路,其实一个数按照从左到右即百位、十位、个位的顺序打印对应的罗马数字,这里的罗马数字甚至可以看成字符,简言之,按顺序打印字符。有了上述的程序设计思路,还需要对其进行细化一下:因为程序是自上而下运行的,如果先写if语句判断1-9位的罗马数字,再写每次遇到整数十位的代码,这样在for循环语句中,就无法循环使用1-9位的if判断。2.之后的整数十位,都会重新定义一个新的罗马数字,后面依次跟上从1-9位的罗马数字。
2023-05-16 18:01:18
227
原创 《C语言大学教程(第八版)》第四章 课后习题 4.31 - 4.32 参考答案
可实际的情况是,根据chatgpt给到的解法,对for循环语句的使用玩法有了更进一步的了解,打开了思路,有一种豁然开朗的感觉,得到了一种启发。为此,想挑战一下,既然能想到最少使用printf语句的次数为2次,那要如何实现呢,思考了许久,后来查阅了chatgpt,给到了一种解法。最近在学习《C语言大学教程(第八版)》第四章课后习题4.31-4.32时,遇到了一个问题,题目中要求用printf语句每次打印一个星(*)或一个空格,最少的使用printf语句,结合这两点,最少的使用次数为2次。
2023-05-16 14:35:44
151
原创 《C语言大学教程 (第八版)》第四章 课后习题 4.30 参考答案
这里简单讲解一下,为什么要是用continue而不是使用break,在4.7的例子中,因为switch语句嵌套在外层while循环语句内,使用break语句退出整个switch语句后,会继续进入外层while循环语句。读完这道课后习题,有那么一瞬间,懵了,竟不知道,要如何,去按照题目中的要求,去设计嵌套的if…当时,如何设计if语句的判断条件,思维绕不出来了。最近在学习《C语言大学教程(第八版)》,学习到第四章后,课后习题4.30,稍微卡壳了一下,做一下记录,希望可以帮到有需要的同学。
2023-05-12 15:23:49
338
1
原创 《Python编程从入门到实践 第二版》第二十章 部署“学习笔记” 示例练习
最近在学习Python编程语言,跟着《Python编程从入门到实践 第二版》做练习。因为,这本书写自2019年前后,使用的Python版本是3.7.2。写这篇文章的时间是2022年7月8日,截至目前,Python的最新版本是3.10.5。在做第二十章书中部署“学习笔记”的示例编写时,遇到了一些细节上的小问题。在此,写一篇文章分享给大家。如果能帮助到你,深感欣慰。1.书中对应章节的标题是:20.2 部署“学习笔记”2.书中对应的操作步骤:20.2.1 建立Heroku账户20.2.2 安装Heroku
2022-07-08 17:10:09
489
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人