C语言I博客作业06
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业006 |
我在这个课程的目标是 | 熟练掌握分支结构和语句的嵌套,熟悉字符型数据和逻辑运算符,从而更好的学习C语言 |
这个作业在那个具体方面帮助我实现目标 | PTA的题目可以帮助我更快的掌握新学的内容,在完成作业的时候可以不断找到自己的不足并学习 |
参考文献 | 百度、《C Primer Plus》第六版,C语言程序设计 |
1.PTA实验作业
1.1题目名1
给定N个正整数,请统计奇数和偶数各有多少个?
1.1.1数据处理
数据表达:应用了i,n,o,j,N变量,把这些变量都定义成了整型变量
数据处理:采用了for循环语句和if-else语句,如果除以2没有余数那就是偶数,否则就是奇数
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
9 88 74 101 26 15 0 34 22 77 | 3 6 | 例题上的数据 |
12 125 3 56 14 | 2 3 | 一位数、两位数、三位数都放在一起测验 |
555 632 489 236 894 123 | 3 3 | 全是三位数的测验 |
1 2 3 4 5 6 7 8 9 | 5 4 | 全是一位数的测验 |
1.1.4PTA提交列表及说明
1.答案错误:17行把奇数和偶数的位置换了,所以显示答案错误,把j和o换一下就行了
1.2 题目名2
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?
1.2.1 数据处理
数据表达:应用了n和t,都是整型变量,还定义了tortoise(乌龟),rabbit(兔子)两个变量,也是整型变量
数据处理:采用了for循环语句来计算兔子和乌龟的比赛的路程,然后用if-else语句来判断谁跑的更远,从而输出结果谁赢了
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
242 | @_@ 726 | 例题上的数据 |
125 | @_@ 375 | 随机输入的数据测试 |
50 | _ 180 | 输入一个较小的时间来测试 |
689 | _ 2070 | 输入一个较大数据来测试 |
1.2.4 PTA提交列表及说明
1.编译错误:23行忘记打分号了(又是因为粗心)
2.编译错误:第五行中忘记打&符号(经常犯这个错误,还是要更细心)
因为这道题是挑战题,所以在vs上经过了很多次调试才成功的,但没有在PTA上搞,所以我在这里说一下做这道题的过程:其实这道题每10分钟就是一道截点,判断兔子是继续跑还是休息,乌龟反正是一直在运动的,主要考虑兔子的路程,如果兔子在第10分钟时路程超过了乌龟,兔子就休息30分钟,但乌龟是运动的,最后就是比较兔子和乌龟的路程来判断谁赢了。做这道题是真的做的崩溃,但又希望自己能做到完美,很幸运,我成功了。
2.代码互评
2.1同学代码截图(计科2班高茗同学)
2.2自己代码截图
2.3比较结果
1.我的整型变量是三个,她的是5个;我的浮点型变量是3个,而她只定义了1个
2.后面的计算方法稍微有一点点不同,她用if-else语句判断N是否小于等于0,如果是,输出一个什么结果;如果不是,那就先计算,再输出结果;而我的是在前一步就把结果先算出来,如果n等于0,就直接给average赋值为0,最后再统一输出
3.我们的代码大部分是一样的,只是中间的过程有一点点不一样,我觉得她的编码似乎要比我多些,但更直观,我觉得都很好
2.4同学代码截图(计科1班李泽基同学)
2.5自己代码截图
2.6比较结果
1.我的计算是分开的,先将小时和分钟分别进行计算,看分钟的结果来判断小时是否需要退位;而他的则是前面确定好怎么算,然后用if-else语句判断,如果是d-b<0情况,就根据下面式子去算,然后输出结果,否则,直接输出结果就可以了
2.我觉得两种方法都有可以学习的地方,他的有两个printf,根据不同的情况选择一个,而我只有一个,因为我在前面算完了,只是要判断是否要退位,都可以,看自己更偏向于哪一种
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周(9.19-3.27) | 6天 | 26行 | Hello world编程和Markdown语法 | 现在没有疑惑 |
第二周(9.25-10.4) | 4天 | 45行 | 华氏度与摄氏度的转换 | 对于变量的类型还不是很懂 |
第三周(10.8-10.11) | 3天 | 大约100行左右 | 计算分段函数和学习if-else语句 | 对于if-else语句还是不那么熟练 |
第四周(10.15-10.17) | 3天 | 大约75行左右 | for循环语句和指定次数的循环程序设计 | 关于指定次数的循环程序设计还不是很清楚 |
第五周(10.22-10.25) | 4天 | 大约110行左右 | 使用自定义函数来编程和生成乘方表和阶乘表 | 关于自定义函数的编程的细节还是不太懂 |
第六周(10.29-11.1) | 4天 | 大约120行左右 | 运用分支结构编程、字符型数据、逻辑运算符 | 对于逻辑运算符还不是很清楚,有一点点懵 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
可能是刚开始接触字符型数据和逻辑运算符,感觉有点摸不着头脑(因为我的接受能力不是很强),所以在课后花了很多功夫才稍微有点头绪,所以这周做PTA作业时都很慢,但做编程作业还是比较顺利,当然,除了那个龟兔赛跑。搞了很久还是一头雾水。学习这么久C语言,发现一个有趣现象,看到题目很崩溃,显示各种错误更崩溃,但是当对的那一瞬间,却满满的成就感,特别高兴。我希望自己可以一直保持着这种劲头走下去,我相信我会有收获的。一定要往前预习,这样学习效果会更好,加油!