|
这个作业属于哪个课程? |
C语言程序设计II |
|
这个作业的要求在哪里? |
https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/9888 |
|
我在这个课程的目标是? |
熟练掌握C语言的使用技巧和C语言相关工具的使用 |
|
这个作业在哪个具体方面帮助我实现目标? |
深入了解分支结构中的switch语句/DIV> |
|
参考文献 |
网页表格的制作方,CSDN,《C Primer Plus》,Make down语法 |
#1.PTA实验作业

1.1输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
数据表达:用了a,b,c,d,e,i六个变量,直接赋值a,b,c,再用b计算i,最后再用d计算e,其中变量都是整型。
诗句处理:用到a%4==0&&a%100!=0||a%400==0&&b!=1来判别输入的年份是否是闰年和输入的月份是否是1月,用到switch语句和if-else组成的分支结构。
1.1.2实验代码截图

1.1.3 造测试数据
|
输入数据 |
输出数据 |
说明 |
|
2020/10/23 |
296 |
该年是闰年,二月有29天 |
|
2021/10/23 |
295 |
该年是非闰年,二月有28天 |
|
2020/01/31 |
31 |
该年是闰年,二月有29天 |
|
2021/01/31 |
31 |
该年是非闰年,二月有28天 |
1.1.4 PTA提交列表及说明

·1部分正确:未考虑闰年和非闰年的1月天数是一样的;在if语句内添加b!=1,再在后面b=1时e=c。
·2部分正确:case 2和case 5的表达式出错;62改为61,245改为244。
1.2本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。
1.2.1数据处理
数据处理:用了N,i,a,b,A,B,C,D,E五个变量,直接赋值,再定义A,B,C,D,E为0,再通过直接赋值和for循环计算a,b,其中变量都是整型。
数据表达: 用到for(i=1;i<=N;i++)来输入N个同学的成绩,还用到switch语句组成的循环结构和分支结构。
1.2.2实验代码截图

1.2.3造测试数据
|
输入数据 |
输出数据 |
说明 |
|
5 85 90 73 57 100 |
2 1 1 0 1 |
有最大分数100 |
|
5 86 97 54 67 0 |
1 1 0 1 2 |
有最小分数0 |
|
5 54 64 75 84 91 |
1 1 1 1 1 |
各类分数都有 |
1.2.4 PTA提交列表及说明

·1段错误:多用了个if语句;删除if语句。
·2编译错误:for语句多用了个};将多余的}删除。
·3部分正确:划分分数范围不全;将原本的else if()全部改为b=a/10系列。
·4答案错误:未将switch语句包含在for循环中;将原本在scanf后的}移动到switch的}后,并将printf语句移出。
##2.代码互评
2.1第一位同学代码
同学的代码截图:

我的代码截图:

|
对比 |
同学的代码 |
我的代码 |
|
变量 |
他只定义了四个变量 |
我定义了六个变量 |
|
语句 |
他用了一次if函-else语句和两次switch语句 |
我用了两次if-else if和一次switch语句 |
|
总结 |
他的代码比较多,但容易看懂 |
我的代码较少,但不是很容易看懂 |
2.2第二位同学代码
同学的代码截图:

我的代码截图:

看了很多人的代码,差不多都是这种写法,除了代码行数不同和设置的变量名不同,其他都大致相同。
3.学习总结
3.1学习进度条
| 周日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
| 9.22 ~9.25 |
2个小时 |
20 |
基本的代码以及符号 |
这些单词在专业的意思 |
| 10.5 ~10.8 |
5个小时 |
40 |
Make down语法的用法和更多的语法类型 |
找不到代码错误的地方 |
| 10.10~10.15 |
10个小时 |
60 |
make down语法表格做法 |
什么地方该空格什么地方不要空格 |
| 10.15~10.18 |
12个小时 |
85 |
for语句循环体语句 |
更深入的错误找不到 |
| 10.22~10.26 |
13个小时 |
65 |
自定义函数和while函数的初步使用 |
do-while函数的具体使用 |
| 10.30~11.02 |
15个小时 |
100 |
if-else的深入了解和多分支结构 |
单独使用if的意思和计算式中加(fioat)的意思 |
| 11.05~11.08 |
16个小时 |
150 |
switch语句的使用 |
switch语句怎么使用才能完全替代原本的if-else语句 |
3.2 累积代码行和博客字数
![]()
3.3 学习内容总结和感悟
3.3.1学习内容总结
![]()
3.3.2 学习体会
·1周总结:这周的实验作业完成的有点晚,导致没有及时上交,需加强代码的编译速度;本周PTA作业较前几周而言有进步。
·2自我体会:自己对编程的理解有加深了一些,目前能理解代码中较多字符的意思。其实想象力也是完成编程的必备要求之一,不过更多的还是基础,需要多做教材上的练习。