C语言I博客作业07
一、本周教学内容&目标
第3章 分支结构 3.3 使学生熟悉多分支结构switch语句的使用。
二、本周作业头
题目 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9934 |
我在这个课程的目标是 | 能够熟练c语言,能够使用开发软件 |
这个作业在那个具体方面帮助我实现目标 | 每次作业的错误都能是我学到很多新的知识盲点 |
参考文献 | 百度,《C语言程序设计I》 |
三、本周作业
- 1.PTA实验作业
- 2.代码互评
- 3.学习总结
四、作业格式
1.PTA实验作业(20分/题)
从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下
1.1 计算天数
题目内容描述:
1.1.1数据处理
数据表达:我是用int定义year,month,day,result,分别用来接收年月日的值,用插入定义了char1,char2,用来接收/
数据处理:我主要用了switch,后面还接了一个if
伪代码:
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2000/03/02 | 62 | 闰年2月底后 |
2009/03/02 | 61 | 正常年2月底后 |
2000/02/02 | 33 | 闰年二月底前 |
2001/01/02 | 2 | 正常年二月底前 |
1.1.4 PTA提交列表及说明
- 部分正确:没有考虑到闰年一二月的情况,未修改前代if条件为year%40&&year%100!=0||year%4000,当年份为闰年时一二月时答案错误,经过思考后,把条件改为month>2&&year%40&&year%100!=0||year%4000,
1.2 整数的分类处理
题目内容描述:
1.2.1 数据处理
数据表达:我用int定义了a1,a2,a3,yushu,a11,a3shu,i,n,shu.其中a1是能被3整除最大的数,a2是可表示为3k+1的数的个数,a3用于储存3k+2数的和,a3shu用来统计3k+2数的个数,i是用于for循环的计数器,shu用于接收输入的数据,a11用来接收shu的值,yushu是表示输入的数除以3的余数,n表示输入数的个数。我用double定义了a3result表示3k+2所有数的平均值。
数据处理:我用了for嵌套switch输入级处理数据,再用switch输出。
伪代码:
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
3 3 3 11 | 3 NONE 11 | 随机数 |
4 9 3 6 12 | 4 NONE NONE | 全是三的倍数 |
3 4 7 10 | NONE 3 NONE | 全是3k+1型 |
4 8 14 17 | NONE NONE 13 | 全是3k+2型 |
1.2.4 PTA提交列表及说明
- 部分正确:a3shu没有赋初始值0,导致计数器错误。后来发现后赋值使它初始值为0。
- 部分正确:输出的NONE打成None,后来吧None改为NONE
- 答案错误:把a3为0个时输出0,而不是NONE,后用switch结构把a3为0时情况输出NONE。
注:多个部分正确重复提交的缘故。
2.代码互评
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
1.对比1
2.1.1同学代码截图:
2.1.2自己代码截图:
区别:他的代码其实和我的原理是相同的,但是他把switch嵌套在if里面,而我是用顺序结构,else和if的执行结果其实就是加1的差别,不需要在用switch,这样比较麻烦。
2.对比2
2.2同学代码截图:
2.2自己代码截图:
区别:这个题目我主要用switch,而他在输出用了if,其实我觉得这个完全可以用switch完成,因为这些题目主要练switch。switch适用几个指定值的判断,这几个if用switch更好。
3.学习总结(15分)
3.1 学习进度条(5分)
周 /日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周 | 3小时 | 60 | 学会输出字符 | 无 |
第二周 | 10小时 | 186 | 学到变量名称、运算、把变量的结果输出 | 无 |
第三周 | 7.5小时 | 245 | 学会if条件判断 | 无 |
第四周 | 5小时 | 120 | 学会使用for循环 | 无 |
第五周 | 6小时 | 80 | 学会定义函数,do while 等循环 | 一些复杂的函数看到不知道怎么定义,不了解一些新定义,比如const |
第六周 | 7小时 | 140 | 数组的定义,break的用法 | 对于一些题目不知道到底用什么方法去解决 |
第七周 | 8.5小时 | 254 | switch语句不加break;的用法。 |
3.2 累积代码行和博客字数(5分)
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 183 | 60 |
第二周 | 1774 | 186 |
第三周 | 2149 | 245 |
第四周 | 1585 | 120 |
第五周 | 1645 | 80 |
第六周 | 2139 | 140 |
第七周 | 1979 | 254 |
![]() |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
请用思维导图的形式将到目前为止所学的内容进行整理。
3.3.2 学习体会
本周的作业完成的比较匆忙,因为电脑出了一点小毛病返厂维修,所以博客园作业写得有点晚,本来准备在星期三完成这次作业的。完成PTA作业还是比较轻松的,主要是博客园,一看到就头疼,因为自己的表达能力差,所以很多东西表达的不清楚,但是每次看到我自己完成的作业都会有一种成就感,虽然做的没有别人那么美观,但是我觉得已经不错了。我建议大家多去atd群看看别人的代码,我发现有些人的方法真的值得我们去学,还会学到一些你不知道的知识。
五、评价标准
C语言作业评价标准
本次作业特别注意:
- 1.提交列表没内容,或者太简单,每题得分0分。注意选择提交列表长的题目介绍。
- 2.代码格式不规范,0分。
- 3.代码互评,内容简单,0分。
- 4.学习内容总结无思维导图,0分。
- 5.完成挑战题的同学,加20分。