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分。
原文地址:https://www.cnblogs.com/szy5201314/p/11817068.html