C语言I博客作业06

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11552
我在这个课程的目标时 学好分支结构的switch语句为后面学习打基础
这个作业在那个具体方面帮助我实现目标 一些分支结构的语句和switch语句的用法
参考文献 C语言程序设计,C Primer Plus和网课
学号 20209108

1.PTA实验作业

1.1题目名1

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

1.1.1数据处理

  • 数据表达:运用了 yyyy, mm, dd等变量都是整数型变量; yyyy, mm, dd是通过赋值法输入得来的。
  • 数据表达:<1>用到的表达式有: dd-2;dd=31+dd-2 dd=31+dd-2;dd=31+dd-2;dd=30+dd-2dd=31+dd-2;dd=30+dd-2;dd=31+dd-2;dd=31+dd-2;dd=30+dd-2; dd=31+dd-2;dd=30+dd-2;dd=28+dd-2;
    <2>流程结构:分支结构,顺序结构,if else 复合语句。

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
2020 10 16 2020-10-14 样例
2000 03 01 2002-2-28 判断闰年用yyyy%4=0)&&(yyyy%100不等于0))或(yyyy%400=0)的来的,然后用公式29+dd-2
2001 09 12 2001-09-10 不是闰年用 dd-2得出答案
2011 03 01 2011-02-27 判断不是闰年是28天用 dd=28+dd-2得出来闰年yyyy%4=0)&&(yyyy%100不等于0))或(yyyy%400=0)
1769 05 12 1769-05-10 判断不是闰年用yyyy%4=0)&&(yyyy%100不等于0))或(yyyy%400=0)判断而且12大于2用dd-2得出来

1.1.4PTA提交列表及说明

出现的问题及改正:

  • 第一次的部分正确是没有把输出格式如2020-10-16输出出来就是 printf ("%d-%d-%d ", yyyy, mm, dd-2)中时间的横杠忘记了,解决方法就是加上横杠。
  • 第二次错误是我误以为我的时间横杠分不分中英文,搞错了。后来发现不分,要相信自己!

1.2题目2

键盘输入1个正的整数A,如果A是3的倍数但不是5的倍数,则输出A除以5的余数。如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数

1.2.1数据处理

  • 数据表达:变量有A, y;都是整数型。其中x是输入的y是通过x的变化计算出来的;
  • 数据处理:<1>用到的表达式:A%3等于0&&A%5不等于0,y=A%5;A%5等于0&&A%3不等于0,y=A%3;A%5!=0&&A%3!=0,y=A%15;
    <2>流程流程:分支结构,顺序结构;

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
18 3 样例
43 13 既不是3的倍数也不是5的倍数就用y=A%15取余数所得
20 2 是5的倍数但不是3的倍数就用 y=A%3取余数所得
30 无输出 即使3的倍数又是5的对数 没有可用公式
54 4 是3的倍数不是5的倍数用y=A%5取余数可得

1.2.4PTA提交列表及说明

出现的问题及改正:

<1>第一次部分正确是没有考虑非正整数,改正加入了if(x<=0)语句;
<2>第二次部分正确是因为没有搞懂如果x<=0没有输出什么意思,后来发现少写了一个return 0;就加上了return 0;就好了;
<3>第三次是把if语句搞错了,结果就是一直循环不输出结果,根据书上知识对比改正了if语句就好了;

2.代码互评

  • 陈兴同学的代码

  • 同学代码

  • 我的代码

    <1>陈兴同学的代码看起来就容易理解,他的代码直接把A%3,y=A%5,y=A%15用d,c,x表示出来很清晰不容易乱,还运用了if-else语句主动复习了以前的知识反观我的代码还分步来表示非正整数的情况非常容易遗漏,但是我觉得我的代码也是可以,但是还是要向陈兴同学的长处学习,一起变得强大。
    <2>同学的代码真的做到了优秀吧,没有陈兴同学的直接把A%3,y=A%5,y=A%15用d,c,x表示出来而是在后文中直接搞出来真的很简洁明了,而对比我的代码更使我显得暗淡无光,我的代码还分步来表示非正整的情况,真的很复杂,同学的代码思路也是很好的,没有杂乱无章,我的代码就显得杂乱无章,要向同学学习,向他靠拢。
    <3>每个人都有自己的思维方式,面对问题都有自己的思路,但是我们有时候学习一下别人的思路可能会发现另一番景象。努力向那些大佬学习,只有不断向他们学习才能提高自己。

3.学习总结

3.1学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较困惑的问题
11.21—11.27 12小时 278 学会了分支结构的另一语句switch语句,了解了它的表达方式还学习了if语句和switch语句的镶嵌模型构造符合语句等 虽然会使用但是本质还是没有搞懂
11.15—11.20 13小时 255 学了分支结构的if else,elseif等语句,学了字符型数据的输入及用法 有些字符型函数没有搞的很明白
11.8—11.14 14小时 235 调用函数,生成乘方表和阶乘等 对函数的调用还不是很明白
11.1—11.6 10小时 195 学到了循环结构,掌握了for循环语句等 有时格式不知道怎么解决
10.25—10.31 13小时 175 华氏温度的求法等 表达式的应用
10.18—10.24 15小时 40 Hello World!等简单句

3.2累积代码行和博客数

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

  • 这一周同样是老样子学习了新的知识,但明显这周比前几周听课质量要好一些,上课像打了鸡血一样,老师是真的讲的不错,还希望继续保持住。
  • 虽然听课的质量比前几周好,但是该有的问题依然存在,比如有时候明明想自己独立思考写PTA但有时遇到一点问题怎么也搞不好就有点崩溃,然后就放弃自己去询问别人,虽然我知道不会了问别人,但我还是不想这样,我希望以后我能够好好的努力改变自己,让自己变得强大起来。
  • 对比别的同学的代码发现人与人的思想还真的是不同,虽然没有真正的答案,但通过代码对比就能立马找到谁的代码更优,我会像他学习,努力靠近吧。
  • 我希望未来不仅要预习,随之而来的比较重要的是复习,要常复习以前的知识。
原文地址:https://www.cnblogs.com/glyxrf/p/14035525.html