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代表假;
•我希望在以后打代码的时候速度能够快,打出的代码正确,这样效率才会高,这样我才有时间去做另外有意义的事情。