1.这个作业属于那个课堂 | C语言程序设计 |
2.这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9886 |
3.我在这个课堂的目标是 | 学好C语言,能很好的运用它 |
4.这个作业在那个具体方面帮助我实现目标 | 从实际运用出发,使我从实践中更加熟练地掌握它 |
5.参考文献 | 《C语言程序设计(第三版)》 |
一.本周作业
1.PTA实验作业
1.1 计算火车运行时间
题目内容:
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
输入格式:输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。
输出格式:在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。
输入样例:1201 1530
输出样例:03:29
1.1.1数据处理
介绍实现本题过程中,你的数据表达 数据处理是怎么做的.
数据表达:用int定义整型变量 hour,minute,depart,arrive;hour代表所用小时数,minute代表所用分钟数,depart代表开始时间,arrive代表到达时间,
数据处理:表达式:hour=arrive/100-depart/100;minute=arrive%100-depart%100;minute=60+minute; hour=hour-1;("/"取整,"%'取余),因为minute<0时小时要减1,所hour=hour-1,%02d 控制格式,使其始终有四个数字。
1.1.2实验代码截图
1.1.3造测试数据
1.1.4PTA提交列表及说明
根据PTA提交列表,简要描述调试程序碰到的问题及解决办法.
提交列表说明:
1.段错误:段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gd tr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的 gdt表,后13位保存 相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向 的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起 始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。
解决办法:这是我第一次遇到这种错误,如果不是出现了这种错误,我都快忘了错误不仅仅只有我们常见的几种,上百度查,看云班课里老师发的PTA常见问题解答,里面讲到您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起
1.2 高考成绩
题目内容:
高考结束不久,各校的入取分数线也出来了,北京大学(Peking University)720,浙江大学(Zhejiang University)650,工业大学(University Of Technology)600,文理学院(Shaoxing University)550,文理学院元培学院(Shaoxing University Yuanpei College)500,绍兴职业技术学院(Shaoxing Vocational & Technical College)400,张三的分数为n,请问张三能去哪个大学? 如果分数低于400,则回家种地(to be a farmer)。很多学生都想知道自己能去哪个学校,求身为程序员的你帮帮他们。 输入格式:一个高考分数N。 输出格式:录取大学的名字或者to be a farmer。
1.2.1数据处理
介绍实现本题过程中,你的数据表达 数据处理是怎么做的.
数据表达:用int定义了整型变量N,N代表高考分数
数据处理:代码中多次用了if-else语句结构,用到了逻辑运算符&&(且)
1.2.2实验代码截图
1.2.3造测试数据
1.2.4PTA提交列表及说明
根据PTA提交列表,简要描述调试程序碰到的问题及解决办法.
提交列表说明:
1. 部分正确:忘记打int main()
解决办法:看错误提示,上面写到"("应该在“{”前面
2.部分正确:没有考虑到上限问题
解决办法:只有第一个答案正确,其他的错误,没有考虑到不仅仅要超过那个学校的分数线,还有考虑在上一个分数线之下,如N>650&&N<720,而不是N>650就可以了。
2.代码互评
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大.
(1)
风格差异:
a.我们定义的变量不一样,她把路程用n定义,而我用s定义,我个人认为s要好一点,因为我们常常用s表示路程让人一看就清楚你的变量代表的是什么。
b.她直接用了题目中给出的单词,而我重新定义了变量T,t,并且是用了整型变量,而她是用的双精度浮点型变量.
c.她的代码比我的要简洁,但是她这样到最后输出的难道不是一个数吗?因为她的语句是 Bike=27+23+S/3; Walk=S/1.2;最后出来的结果不应该是骑车和走路所用的时间还有All吗.
(2)
风格差异:
a.我们考虑的方式不一样,他先考虑了21世纪之外的,而我先考虑21世纪之内的。
b.用的不一样的单词做变量,他用了year代表年份,而我用了n,
c.都用了三个if语句和一个for语句,他一次性把需要的变量都输入进来了,而我是到后面需要的时候才输入的,他的显得有安排,而我的就没有考虑清楚,要用的时候才输,应该向他学习,无论做什么事情都要想清楚了再做,不要做一步想一步,这样很容易出错.
3.学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
9/18-9/22 | 48小时 | 8 | C语言中简单的输出函数 | C语言到底是什么,它有什么用 |
10/2-10/4 | 48小时 | 16 | 摄氏温度与华氏温度的转变 | 我们做的作业除了让我们熟练运用以外还有什么用呢 |
10/8-10/12 | 50小时 | 39 | 用计算机计算分段函数、if-else语句 | 直到型循环结构等怎么编程 |
10/15-10/18 | 26小时 | 220 | 掌握使用for循环语句实现指定次数的循环程序设计 | 我什么时候才能完全弄懂我的编程 |
10/22-10/25 | 48小时 | 360 | 怎样编程函数的阶乘 | 我该怎样才能真正的学好老师所教的知识 |
10/29-11/2 | 24小时 | 400 | 二分支结构和if-else语句 | 对基础知识掌握不到位 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
整理本周学习的主要知识点,并能对每个知识点介绍简单案例或语法.
3.3.2学习体会
请回顾自己的本周的学习过程,描述学习感受,也可以提出你不理解的地方 对教师教学建议等。如果你有新的想法或者新的方法,请及时记录下来.
1.相当于上周来说我觉得自己还是有一定的进步,就是可以在做题目之前不借助工具自己开始慢慢的写代码,即使时间用了很久,很多因素没有考虑到,但自己至少敢于尝试了,而不是一看到题目就搜怎么做了,
2.虽然看其他人的博客作业可以提高自己的知识面,也可以使自己的博客作业做好,但是我认为有一个缺点,就是看了这些同学的博客作业,我们的思维方式就受到了一定的限制,就很难做出比这些同学更好的博客作业,因为她们的作业被老师表扬了,我们就理所当然的认为她们的很好,自己稍微改动一下好像就没有她原来的好,这也许只是我个人的看法。
3.我希望自己的勇气多一些,自己不要去墨守成规,而要敢于不断突破,这样自己才会有更大的进步,我相信没有人不想优秀.
4.自己要加强基础知识的注意,无论我们干什么事,都是建立在基础知识上的,没有基础,我们将一事无成,所以我们不要觉得基础知识不重要。