这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11531
这个作业的目标 熟练运用多分支结构
这个作业在那个具体方面帮助我实现目标 switch语句的运用
参考文献 C语言程序设计

1.PTA实验作业

1.1本题要求编写程序计算某年某月某日是该年中的第几天。

1.1.1数据处理

 数据表达:运用整数型变量a,b,c,m,n,i,day,d;其中i是循环变量,d是中间变量;
 数据处理:运用for循环结构以及if分支结构:
          for(i=1;i<=b-1;i++);
          if-else....
          以及逻辑运算符&&和||;

1.1.2代码截图:

1.1.3造测试数据:

输入数据 输出数据 说明
2012/03/02 62 闰年普通月份测试
2016/02/02 33 闰年特殊2月份测试
2011/02/02 33 平年特殊2月份测试
2001/03/02 61 平年普通月份测试
1.1.4PTA提交列表及说明
 1.首先是在if语句中出现错误,忽略逻辑运算写成
          (i==1||3||5||7||8||10||12)
   经过查找C语言程序设计一书理解了逻辑变量的表达方式改为
          (i==1||i==3||i==5||i==7||i==8||i==10||i==12)
   后,运行成功;
 2.忽略了月份计算时不能从本身算起,在循环变量中写为了
          for(i=1;i<=b;i++)
   在经过思考与手动计算后发现不能算月份本身天数,于是改为
          for(i=1;i<=b-1;i++)
   后,成功运行;
   问题解决。

1.2本题目要求读入年、月、日,然后判断前天日期。

1.2.1数据表达:

数据处理:运用整数型变量y,m,d;根据月份,年份,天数的英文字母确定变量
数据表达:运用if-else和else-if多分支结构;
             if((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
             else if((m==2||m==4||m==6||m==9||m==11)&&d<=2)
             else
                  if((m==5||m==7||m==8||m==10||m==12)&&d<=2)
         以及逻辑运算符&&和||;

1.2.2代码截图

1.2.3造测试数据

输入数据 输出数据 说明
2020-01-01 2019-12-30 闰年首日跨年三变测试
2019-03-01 2019-02-27 平年特殊2月测试
2020-03-01 2020-02-28 闰年特殊2月测试
2017-09-09 2017-09-07 普通年份测试
1.2.4提交列表及说明
1:运行时编译错误由于在变量m,y,d前面添加&符号;
   经过一番查找后才发现错误后改为:
           scanf("%d %d %d",&y,&m,&d)
2:在编译时漏掉了普通年份的判断结构,而且遗忘了else-if的正确顺序
   经过一系列的修订后成功将else-if与if-else语句的大括号结构整理完毕
   同时也发现了漏掉的普通年份判断语句;

2.代码互评

同学代码1:

我的代码1:

互评1: 1.从学习内容上看同学代码用到了switch结构,而我的代码未提及。在这点上我需要将此题用switch结构再写一遍
       2.从整体简洁性看,同学代码较为我的代码简洁工整,这点我需要学习。
       3.从代码简单方便来说,同学代码在写时较为繁琐,而我的代码却比较好写,
       4.但我的代码细节较多易出错,需要认真修订。

同学代码2:

我的代码2:

互评2: 1.从整体上看我的代码思路和同学的代码思路是大致一致的,只不过在表达方式上略微不同
        2.从代码简洁上看同学代码要比我的代码更加简洁,他判断语句少但表达一样不少,值得学习
        3.从语句上看,同学的语句在于从基础天数2月份算起,依次上加。
                     而我的是以31和30作为基础数据搭配闰年平年情况统一累加。
        4.总的来说我可以学习同学代码的简洁,以及他的从特殊入手的思路技巧。

3.学习总结

3.1 学习进度条

周/日期 这周所花时间 代码行 学到到的知识点 目前比较困惑的问题
第一周 6小时 200 输出Hello World 对于循环的条件运用以及
第二周 8小时 500 数学运算 if分支语句 循环时具体的赋值状态
第三周 15小时 900 for循环语句
第四周 18小时 700 调用自定义函数 对于自定义函数掌握不太熟练
第五周 19小时 800 逻辑运算以及if多分支结构 运用if多分支时容易搞混乱语句的结构顺序
第六周 24小时 900 switch语句的多分支结构 不能熟练掌握switch语句简化语句的以及break跳出方式
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

 1:已经学习六周目了,对于程序的编写也越来越复杂,对于代码的研究也越来越深入。我从中慢慢感受到了这门学科的难点和重点
 2:我已经能够理解简单的代码数据类型,也能够看懂其他人一些简单的代码结构,这将会对我以后自己研究代码提供了一定的基础
 3:我也能够从不同的代码编写上找出简便的编写方法,研究出一套适合自己的编写路径和独特的代码编写特点。
 4:学习完switch后才发现好多东西代码可以替换,每种代码有着本身的特色和表达方式,不同代码组合在一起会产生极大效果
    每种代码的相互配合和结合都会有助于程序的编写,让编程语句更加简洁实用;
 5: 希望以后自己能够坚持住对代码编写的信心,对于代码的运用越来越熟练。