这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/9929
我在这个课程的目标是 学会自己编写程序,熟练掌握switch
这个作业在那个具体方面帮助我实现目标 学习怎么使用switch去编程
参考文献 C语言程序设计教科书

1.PTA实验作业

1.1 计算天数 (15 分)

本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:
在一行输出日期是该年中的第几天。

1.1.1 数据处理

数据表达:定义了整型变量day,month,year,i,n=0,
数据处理:运用了if语句,for循环结构,switch语句,使用了函数scanf,printf

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
2000/03/02 62 闰年
2019/06/07 158 非闰年
2020/06/08 160 闰年

1.1.4 PTA提交列表及说明

提交列表说明

1.答案错误:我开始在Dev-c++中编译,老是在结果出问题,经常出现答案错误,但经过不断的调试,借助百度查找资料才解决错误
2.编译错误:因为在c++上编译没有错误,所以我就直接写了,但还是出现了编译错误,原因是if语句中漏掉一个字符

1.2 统计学生成绩 (15 分)

本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。

输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。

1.2.1 数据处理

数据表达:定义了整型变量grade,N,A=0,B=0,C=O,D=0,E=0,i,a,
数据处理:运用了for循环语句,以及switch语句,使用了函数printf,scanf

1.2.2 实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
6 58 63 70 89 93 36 1 1 1 1 2 E有俩人
9 92 93 84 65 36 87 78 69 55 2 2 1 2 2 C只有一人
5 98 100 85 76 9 2 1 1 0 1 D一人都没有

1.2.4 PTA提交列表及说明

提交列表说明

1.编译错误:开始编译的时候没有把学生成绩除以十,导致switch语句中的case书写错误,后来百度查阅资料后解决问题

2.代码互评

同学代码1

同学代码2

我的代码

1.我的代码定义了五个变量,而同学只定义了三个变量
2.同学代码使用了俩次switch语句,同时使用了if-else语句,我的直接使用switch语句
3.我的代码看起来更加简单,使用的知识比较基础

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第九周 32h 112 怎么使用函数定义 对于调试还不太会操作
第十周 30h 128 if-else语句的嵌入 对于一些题目中的公式不知道该怎么写
第十一周 21h 120 switch语句 对switch的使用还不太会

3.2 累积代码行和博客字数

时间 博客字数 代码行数
第九周 1621 468
第十周 1856 512
第十一周 1978 634

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

1.学习C语言快有俩个月了,我也从以前的懵懂到现在会一点基础,我感觉进步了许多,在学习中也是慢慢的体会到了C语言的乐趣
2.在这周的学习中,我们主要学习了switch语句的使用,其中我有很多地方不是很理解,但在以后会继续努力
3.在编写代码中逻辑思维显得越来越重要,以后必须加强逻辑思维的训练