C语言I博客作业08

放肆的年华 提交于 2019-12-04 14:13:21

一、本周教学内容&目标

第3章 分支结构 3.3 使学生熟悉多分支结构switch语句的使用。

二、本周作业头

问题答案
这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9934
我在这个课程的目标是 灵活使用c语言进行编译
这个作业在那个具体方面帮助我实现目标 使我熟悉了多分支结构switch语句的使用方法
参考文献 https://zhuanlan.zhihu.com/p/54592412

三、本周作业

1.PTA实验作业

请再此处列出自己的排名图片,如:

从PTA题目集中选出2个你最满意的题目完成以下内容:

1.1计算天数

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

1.1.1数据处理

(1)数据表达:我用int定义y(年份),m(月份),d(日)和C,然后根据题意列出式子:"(y%4==0&&y%100!=0)||(y%400==0)",之后运用switch句型写出闰年和平年的天数差别进行判断并了解某一个日期在此年的第某某天。
(2)数据处理:很明显,我这次用了:“if-else”和“switch”句型,“if else”句式作为判断,“switch”作为分不同情况,写出不同年份的月份数,其最后的天数也就不同。
伪代码:

1.1.2实验代码贴图


1.1.3 造测试数据

输入数据输出数据说明
2009/03/02 61 这一天是2009年的第61天
2000/03/02 62 这一天是2000年的第62天
2000/03/22 82 这一天是2000年的第82天

1.1.4 PTA提交列表及说明


说明:(1)编译错误:刚开始第43排的大括号没打出来就直接输出结束了,找了很久的错误。
改正错误:在第43排加上一个大括号(对应第7排的大括号)。

1.2统计学生成绩

本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。

1.2.1数据处理

(1)数据表达:我先用int定义正整数n,i,分数grade,还有成绩等级A,B,C,D,E,然后用switch句型列式子(grade/10),分成不同层次,得出不同分数的等级情况。
(2)数据处理:很明显,我这次用了:“for”和“switch”句型,"for"语句进行循环,“switch”语句进行情况分类,最后 printf("%d %d %d %d %d",A,B,C,D,E);进行输出。
伪代码:

1.2.2实验代码贴图

1.2.3 造测试数据

输入数据输出数据说明
7 77 54 92 73 60 65 69 1 0 2 3 1 这七位同学成绩等级依次为:C,E,A,C,D,D,D.
7 77 54 92 73 60 89 90 2 1 2 1 1 这七位同学成绩等级依次为:C,E,A,C,D,B,A.
7 77 54 92 73 66 88 99 2 1 2 1 1 这七位同学成绩等级依次为:C,E,A,C,D,B,A.

1.2.4 PTA提交列表及说明


说明:(1):编译错误:刚开始switch里用的式子是grade,所以导致错误。
改正错误:把式子改为“grade/10”。
(2):编译错误:第18排的大括号没写出来,发现是我没注意到for循环后面有个大括号。
改正错误:重新在第18排加上个大括号。
(3):编译错误:(这错误我是真傻了)我居然在switch后面还加个分号。
改正错误:把switch后面分号去掉。
(4)部分正确:最后一次改,我找了很久,同学说还要加个“ A=B=C=D=E=0;”(我也不是很清楚这是为啥)
改正错误:在scanf输入后加上“ A=B=C=D=E=0;”

2.代码互评(7-10)和(7-12)

(7-10)计算天数
同学截图:

我的截图:

区别:(1)在定义上,我多定义了一个c,其实是为之后的编译埋下铺垫,而这位同学就直接用定义的day加上月份天数,更加直接明了,但相反他的代码就比较繁琐,没我的那么简洁。
(7-12)统计学生成绩
同学截图:

我的截图:
区别:(1)这位同学明显有他自己的想法,他先用“if-else”句型进行各分数段的不同result,然后才用switch列表达式“result”进行不同分数情况的等级评分。
但我的明显更简单,直接列表达式“grade/10”来进行成绩等级分段。

3.学习总结

3.1 学习进度条

周/日期这周所花时间代码行学到的知识点简介目前比较迷惑的问题
1/21-1/23 三天 47 基础的代码知识 代码符号不了解
2/26-2/29 四天 64 学会用MinGw-w64来编译C程序 编译的错误点难找
3/9-3/11 三天 99 学会了赋值和“If-else句式”的运用 编程的熟练度不高
4/16-4/18 三天 87 学会运用代码进行计算 对于式子难以列出来
5/22-5/25 四天 98 对函数的调用有了初步认识 对于一些c语言的符号和语法还是不懂
6/30-6/1 三天 113 初步熟悉了多分支结构、字符型数据类型和逻辑运算符 在看到某个数字和符号一起时还是会迷茫
7/5-7/7 三天 112 初步熟悉了多分支结构switch语句的使用 对于用什么表达式还比较迷

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

请用思维导图的形式将到目前为止所学的内容进行整理。

3.3.2 学习体会

这是我学习C语言的第七周了,从开始的懵懂无知到现在的初入了解,我感觉我对于编码越来越比较的来劲,今天我学会了switch句型,很开心,其实我在读大学之前一直没了解过计算机方面的知识,在来大学后我深感我必须赶紧“追上”同学们的“步伐”,大学是一个新的开始,我相信,在不就的将来,我一定会让我为自己自豪,为自己为傲,加油吧,少年!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!