C语言I博客作业06
一、本周教学内容&目标
第3章 分支结构 3.1-3.2 使学生熟悉多分支结构、字符型数据类型和逻辑运算符。
二、本周作业头
问题 | 答案 |
---|---|
这个作业属于哪个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9886 |
我在这个课程的目标是 | 学会并熟悉多分支结构、字符型数据类型和逻辑运算符 |
这个作业在哪个具体方面帮助我实现目标 | 多次使用循环语句for及lf-else语句,其中夹杂了字符型数据和很多逻辑运算符,例如i%4==0&&i%100!=0等 |
参考文献 | C语言程序设计I,QQ浏览器,《C语言编程常见问题解答》 |
三、本周作业
1.PTA实验作业
请在此处列出自己的排名图片
1.1题目
本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。
-
1.1.1
数据处理:此题运用了关系表达式,例如i=1;i<=N;i++,还利用了if-else语句和for循环语句,注意输入scanf("%d",&n),后面写出平均数和及格人数之间的关系,即average=sum*1.0/count,最后输出。 ```
-
1.1.2 实验代码截图
- 1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5,77 54 92 73 60 | average = 71.2,count = 4 | 说明有四个人及格,平均分为71.2 |
5,33 43 29 60 67 | average = 46.4,count =2 | 说明有两个人及格,平均分为46.4 |
4,67 73 55 62 | average = 64.3,count =3 | 说明有三个人及格,平均分为64.3 |
- 1.1.4 PTA提交列表及说明
编译错误:忘打了大括号
答案错误:题目没有省清楚,把及格和不及格的结果输出混淆
部分正确:平均数average是双精度浮点型,%lf,我打成了单精度浮点型,%f。
1.2 题目
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
-
1.2.1 数据处理
数据处理:先定义,再列出hour、minute分别与arrive和depart之间的关系式,即hour=arrive/100-depart/100; minute=arrive%100-depart%100,另外还要考虑minute<0的情况,若小于,则minute=60+minute;hour=hour-1,最后才输出。 ```
-
1.2.2 实验代码截图
-
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1450 1339 | -02:49 | hour>minute |
33 99 | 00:66 | hour<minute |
55 55 | 00:00 | hour=minute |
- 1.2.4 PTA提交列表及说明
编译错误:英文字母打错。
答案错误:没有考虑minute<0的情况。
2.代码互评
2.1模板一
2.对于printf(" \n "),比没有加\n更加标准正式。
3.对于后面的表达式,该同学是对walk和bike再次分别定义,然后分别写出他们的表达式,而我是在scanf后直接一起写出他们的表达式,这样感觉更加简单点。 ```
####2.2模板二
![](https://img2018.cnblogs.com/blog/1806788/201910/1806788-20191031233934698-531098805.png)
```差异:1.设置变量的差异,该同学设置的是year,而我是n,这样显得更加简洁点。均为整型。 2.该同学先是罗列 Invalid year的情况,最后才是%d\n,而我正好相反,先是%d\n的情况,再是 Invalid year 的情况。 3.对于都运用的lf-else语句,该同学从方面考虑用的逻辑运算符是||,即或的情况,而我是从正面考虑用的逻辑运算符是&&,即当且仅当的情况,但这种反面思想是更加值得提倡的。 4.我比该同学多定义了一个temp,显得更加复杂,之后应尽量使代码简单化。 5.为使代码更加标准,该同学应该用\n。 ```
###3.学习总结
####3.1 学习进度条
|周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
|:--|:--|:--|:--|:--|
|第一周|4/h|150|学会了输入输出字符|如何去定义和运用Markdown格式|
|第二周|12/h|300|知道定义变量和表格的制作及Markdown格式的运用|运算符怎么输入|
|第三周|15/h|396|学会了折线图的制作和lf-else语句的运用及多种运算符的使用|怎样才能使输入代码更加简便,有没有惯用的|
|第四周|13/h|350|for的循环结构|各种情况下各种变量的灵活运用|
|第五周|12/h|370|用代码输入生成乘方表和阶乘表|不知道该定义多少个量|
|第六周|16/h|400|字符型数据类型和逻辑与关系运算符|做了PTA上面的几个编程题,感觉有的题目自己看不懂,不知道如何写表达式|
####3.2 累积代码行和博客字数
![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191101180126168-921413071.png)
####3.3 学习内容总结和感悟
* 学习内容总结
![](https://img2018.cnblogs.com/blog/1806788/201910/1806788-20191030221714548-561633571.png)
* 学习体会:```从上节课老师讲的if-else数套和字符型%c %d,还有未讲完的关系运算符和逻辑表达式等中我们可以知道老师讲的C语言理论课听起来容易懂,但做起来却漏洞百出,就比如老师上课讲的编程代码(成绩分ABCDE五个等级),在之后的PTA作业里就有一个相同类型的题目,前面多个编译错误,我不是忘加了这个就是少打了那个, 所以课上听懂是一回事,课后会实践是另外一回事,同学们课后应该多多写代码,在一节课之后找一些类似的题目做,从而强化知识点。 ```