2022-2023-1 20221312 《计算机基础与程序设计》第六周学习总结
作业信息
班级链接:首页 - 2022-2023-1-计算机基础与程序设计 - 北京电子科技学院 - 班级博客 - 博客园 (cnblogs.com)
作业要求:2022-2023-1 《计算机基础与程序设计》教学进程 - 娄老师 - 博客园 (cnblogs.com)
作业目标:了解数据查找方式以及其中的时间复杂度,学习结构名称,复习巩固C语言语法知识
作业正文:2022-2023-1 20221312 《计算机基础与程序设计》第六周学习总结 - 20221312付安旭 - 博客园 (cnblogs.com)
教材学习内容总结
学习了数组中各种查找数据的方式,了解了各种代码对应的结构,对C语言语法知识有了进一步巩固。
代码调试中的问题与解决过程
- 问题1:在进制转化的程序中,最终结果只有第一位会正确展示,其余各位都显示0.
- 问题1解决方案:经询问前辈和老师,知道了malloc函数在使用过程中,会覆盖所有已经借出的内存,导致原来的赋值被初始化为0。 为了解决该问题,可以事先定义以个较大的数组存储数据,或者先计算位数再借取空间。
不过C99及以上的版本是可以用变量定义数组大小的。这时候也不太需要用malloc借空间
- 问题2:在计算兔子繁衍问题时,程序运行时卡住。
- 问题2解决方案:个人分析时,认为一个递推循环过程中需要的计算太多,导致程序进展缓慢,后来发现我这种算法也是错误的。
应该是只定义一个children1即可,对题目分析错误了。
事实上这就是斐波那契数列。
- 问题3:编译过程中找不到头文件对应函数。
- 问题3现状:个人目前未解决该问题,希望在未来查到原因
代码托管
- 1.tuzi.c · zhuoxue/代码学习的路途 - 码云 - 开源中国 (gitee.com)
- 2.taijie.c · zhuoxue/代码学习的路途 - 码云 - 开源中国 (gitee.com)
- 3.jinzhi.c · zhuoxue/代码学习的路途 - 码云 - 开源中国 (gitee.com)
- 4.lianbiao.c · zhuoxue/代码学习的路途 - 码云 - 开源中国 (gitee.com)
- 5.treex.c · zhuoxue/代码学习的路途 - 码云 - 开源中国 (gitee.com)
- 6.shell.c · zhuoxue/代码学习的路途 - 码云 - 开源中国 (gitee.com)
- 7.quicksort.c · zhuoxue/代码学习的路途 - 码云 - 开源中国 (gitee.com)
- 8.guibing.c · zhuoxue/代码学习的路途 - 码云 - 开源中国 (gitee.com)
不过个人也写了其他代码,不过测试样例体现不出来是干什么的。可以去码云看一下备注”WEEK6“的代码。
上周考试错题总结
- 错题:
Assembly language instructions are executed directly by the hardware of a particular computer.正确答案: 错误 个人作答: 正确错选原因:汇编语言应该先转化为机器语言,才能被机器硬件执行。
感悟
1.算法真是博大精深,排序方式的不同,时间复杂度也是不同的,而且通常时间优先度比较高,这就要求我们选择更优算法.
或许对语言语法有了基本的掌握后,就可以注重算法了吧。
2.有高中同学向我推荐了一道算法题,输入一个整数n, 求n的阶乘的位数。特意强调了n最大是10^7.
那这肯定不能直接算,但我找不到什么方法去计算位数。
后来同学告诉我,<math.h>里有个log函数可以取对数。
那这题瞬间简单不少了,不必担心溢出了。
如此看来,想要做算法题,还是要对语言有更充足的理解。C语言里一些奇妙的函数能极大简化运算。
可是个人感觉这更像C语言基础考察题,不能叫算法题。
3.卡点交作业还是有点危险了。
学习进度条
代码行数(新增/累计) | 博客量(新增/累计) | 学习时间(新增/累计) | 重要成长 | |
第一周 | 0/0 | 4/4 | 12/12 | |
第二周 | 230/230 | 2/6 | 30/42 | |
第三周 | 160/390 | 5/11 | 18/60 | |
第四周 | 200/590 | 2/13 | 14/74 | |
第五周 | 180/770 | 2/15 | 10/84 | |
第六周 | 700/1470 | 5/20 | 20/104 |
参考资料
1.计算机科学概论(原书第7版) (豆瓣) (douban.com)