C语言l博客作业07
问题 | 答案 |
---|---|
这个作业属于哪个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9935 |
我在这个课程的目标是 | 成为一个合格的信息安全技术人员,追逐世界。 |
这个作业在哪个具体方面帮助我实现目标 | 熟悉switch语句的使用,在部分情况下可用此代替if-else分支结构。 |
参考文献 | 《C语言程序设计》、部分同学的结构 |
1. PTA实验作业
1.1 计算天数
1.1.1 数据处理:
- 数据表达:用到的是year、month、day、days、i等整型变量,输入day后将其作为days的初始值,输入year并判断其是否为闰年,让i为每个月的序数。
- 数据处理:用到了if-else语句判断month是否为1月,year是否为闰年;用for循环语句与switch分支语句计算天数。
1.1.2 实验代码截图
1.1.3 测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2003/01/19 | 19 | month==1 |
2004/03/11 | 71 | year为闰年,month>2 |
1.1.4 PTA提交列表及说明
提交列表说明:
- 答案错误:部分case未添加至switch语句中,并把case 4的31天写成了30天。
- 部分正确:未考虑year为闰年的情况与month==1的情况;for判断条件应为i<=month-1,而我写成了i<=month。
1.2 统计学生成绩
1.2.1 数据处理
- 数据表达:用到了i、N、score、A、B、C、D、E等整型变量,A、B、C、D、E表示各等级学生人数,N为学生总人数,score为学生单个成绩。
- 数据处理:用到了switch语句与for循环语句统计各等级的学生人数。
1.2.2 实验代码截图
1.2.3 测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
3;57 94 77 | 1 0 1 0 1 | N=3 |
5;61 91 75 66 89 | 1 1 1 2 0 | N=5 |
1.2.4 PTA提交列表及说明
提交列表说明:
- 编译错误:case后的表达式不是常量表达式。
- 部分正确:缺少score=score/10,无法用score正确表达case后的常量表达式,导致运算统计方面出现逻辑错误。
2. 代码互评
-
同学代码截图:
-
自己代码截图:
3. 学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点总结 | 目前感到比较迷惑的问题 |
---|---|---|---|---|
6/4~6/7 | 3天 | 大概90行 | 补零的方法,switch语句的用法 | case在各种情况下常量表达式的用法 |
3.2 累计代码行与博客字数
代码行 | 博客字数 |
---|---|
大概90行 | 大约90字 |
3.3 学习内容总结与感悟
3.3.1 学习内容总结
3.3.2 学习体会
switch语句中case由于要用到常量表达式,所以可能不方便表示每个case间的条件,所以这就是其与if-else语句相比的不足之处吧。