C语言I博客作业06

||
--|:--:
这个作业属于那个课程|C语言程序设计II
这个作业要求在哪里|作业
我在这个课程的目标是|更加深入if-else语句
这个作业在那个具体方面帮助我实现目标|我学会了if语句和for循环的嵌套
参考文献|C语言程序设计(第3版),百度

1.PTA实验作业

1.1 统计学生平均成绩与及格人数

本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

1.1.1数据处理:

数据表达:定义了count,i,N,grade,total变量;N和grade是用户输入的数据,i用于for循环,count和total是在运行程序产生的;count,i,N是整形,grade,total是双精度浮点型。
数据处理:total=total+grade,total/N;流程结构:用了for循环和if-else语句。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
0 average = 0.0,count = 0 没有学生
7 21 22 23 24 25 26 27 average = 24.0,count = 0 人数较多,但没有人及格
4 73 37 24 86 average = 55.0,count = 2 输入最满足条件的数据

1.1.4 PTA提交列表及说明



部分正确:两次都没有考虑“没有学生”的情况。
编译错误:printf被我打成了“prinf”。

1.2 输出闰年

输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。

1.2.1 数据处理

数据表达:定义了year,c,m变量;year是用户输入的数据,c用于循环,m用于判断2001到year之间是否存在闰年;year,c,m都是整形
数据处理:(c%40&&c%100!=0)||(c%4000);流程结构:用了for循环和if-else语句的嵌套。

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
1989 Invalid year! 输入非21世纪的年份
2002 None 从21世纪开始到输入的年份之间无闰年
2022 2004 2008 2012 2016 2020 输入最满足条件的年份

1.2.4 PTA提交列表及说明


部分正确:我把(c%40&&c%100!=0)||(c%4000)打成了(c%40&&c%100!=0)&&(c%4000)

2.代码互评

同学(白卓)代码截图:

同学(陈泽宇)代码截图:

自己代码截图:

1.第一个同学的代码和我的代码大体差不多,只是定义的变量不同,而且第一个同学在if判断年份是否为闰年中没有在逻辑或(||)两侧加括号,我虽然知道这样可以,但我还是觉得打好括号思路更清晰。
2.第二个同学定义了两个变量,我多定义了一个变量用来判断从21世纪开始到输入年份之间有无闰年,他直接判断输入输入与2004之间的大小,这样也可以,但是我认为他那样步骤可能比较简单,但比较难以思考,我这样虽然复杂了一点,但思路简单。可能这就是所谓的各有特色吧!
3.总的来说,第一个同学和我的代码差不多,只是排版不一样,而第二个同学的代码和我各有特色。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第七周 17h 342 markdown语法和if-else语句 对于变量还是不能很好的掌握
第八周 17h 387 定义两个变量,对for循环有更进一步的了解 对于基本知识还是不够扎实
第九周 20h 429 while循环,定义和调用函数 对于定义和调用函数还是不怎么了解
第十周 18h 476 for循环和if-else语句之间嵌套 读完题目后大脑里面没有相应的代码

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

•通过这次作业我了解到了for循环和if-else语句之间的嵌套,还有if语句的嵌套;
•我了解了字符型变量在定义时用类型名char,还了解到字符输入函数getchar和putchar;
•我了解到逻辑运算结果非真即假,同时用1来代表真,用0代表假;
•我希望在以后打代码的时候速度能够快,打出的代码正确,这样效率才会高,这样我才有时间去做另外有意义的事情。

posted @ 2019-11-01 19:16  -追梦少年-  阅读(220)  评论(9编辑  收藏  举报