C语言I博客作业06

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 作业要求
我在这个课程的目标是 熟练使用C语言
这个作业在那个具体方面帮助我实现目标 对本周的学习内容理解更深,总结反思这周学习感受
参考文献 《C语言程序设计》
学号 20209017

1.PTA实验作业

1.1 题目名1:前天是哪天

本题目要求读入年、月、日,然后判断前天日期。
输入格式:在一行中输入年、月、日。(日期为有效日期)
输出格式:输出前天日期,格式形如2020-10-16
输入样例:2020 10 16
输出样例:2020-10-14
输入样例:2020 1 2
输出样例:2019-12-31
输入样例:2020 3 2
输出样例:2020-2-29
输入样例:2019 3 2
输出样例:2019-2-28

1.1.1数据处理

数据表达:用了year,month,day变量,这些变量的值是定义计算赋值来的,类型是整型。
数据处理:数据用到数学表达式、条件表达式与常量表达式。    流程结构用到选择结构(if-else与switch)。

1.1.2实验代码截图


1.1.3 造测试数据

输入数据 输出数据 说明
2020 10 16 2020-10-14 day>2
2020 1 2 2019-12-31 day<=2,month=1
2020 3 2 2020-2-29 day<2&&month=3 year为闰年
2019 3 2 2019-2-28 day<2&&month=3 year为非闰年

1.1.4 PTA提交列表及说明

提交列表说明:
1.编译错误:else的括号没有打全
  解决方法:通过收缩括号内内容,找到少打括号的地方。
2.答案部分正确:二月部分的日期错误。
  解决方法:自己仔细在脑海中演算一遍,得出要加的值。
3.答案部分正确:switch语句case 2语句后继续运行。
               解决方法:case 2语句后没有break,加上后就可以跳出语句。

1.2 题目2:多分支表达-倍数问题

键盘输入1个正的整数A,如果A是3的倍数但不是5的倍数,则输出A除以5的余数。如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数。
输入格式:1个正整数
输出格式:如果是3的倍数但不是5的倍数,则输出A除以5的余数。 如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。 如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数。 如果A不是正整数,没有任何输出。
输入样例:18
输出样例:3

1.2.1 数据处理

数据表达:用了A变量,此变量的值是定义计算赋值来的,类型是整型。
数据处理:数据用到条件表达式。    流程结构用到选择结构(if-else)。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
22 7 不是3的倍数也不是5的倍数
30 没有任何输出 15的倍数
25 1 5的倍数
18 3 3的倍数
-1 没有任何输出 非正整数

1.2.4 PTA提交列表及说明

提交列表说明:
1.编译错误:printf后面少打了一个;。
  解决方法:在后面加一个;。
2.答案部分正确:没有答案显示出来。
  解决方法:少打了scanf语句。
3.答案部分正确:15的倍数与非正整数应无法输出,但我的显示了数字。
  解决方法:将switch语句换成if-else。

2.代码互评

2.1计算天数

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

2.1.1自己代码

2.1.2同学代码


2.1.2不同之处

1.同学只用到了if-else语句,我除了if-else语句还用到了switch语句。
2.同学是用if将所有条件都列出来了。
3.同学设置多个变量让式子更简便,而我则是自己在脑海里把数字都加出来,这样比较麻烦。

2.2多分支表达-倍数问题

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

2.2.1自己代码

2.2.2同学代码

2.2.3不同之处

1.同学的代码将每种情况都列出来了,比较具体,而我的是将是十五的倍数与非正整数囊括在一起。
2.同学将十五的倍数与非正整数写出来不输出任何值,而我没有写这两个。
3.我没有用else语句,而同学的不能被三整除的是用else语句写的,这是她将所有情况都写到了才能这样写。

3.学习总结

3.1学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较困惑的问题
第一周 0天 0行 C语言知识的大纲 目前没有问题
第二周 3天 约20行 Hello world编程Markdown语法 目前没有问题
第三周 5天 约80行 华氏度与摄氏度的转换、调试 对应该如何调试还不太懂
第四周 5天 约90行 if-else语句 PTA作业在scanf语句处有警告,该如何修改
第五周 5天 约125行 for语句 对for语句的使用不够熟练
第六周 五天 104 如何定义函数 对定义函数的操作不过熟练
第七周 5天 184 char数据类型的用法 用char类型不熟练,分不清什么时候要加''
第八周 5天 272 switch语句用法 有部分情况不知怎么用

3.2累计代码行和博客字数

时间 博客字数 代码行数
第一周 0 0
第二周 808 20
第三周 808 100
第四周 1426 190
第五周 2968 315
第六周 4144 409
第七周 7053 593
第八周 8814 865

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

这周在实验课的学习上,完成老师的课堂作业比较困难,效率低,是自己没有在脑海里想清楚该怎么写就开始了的原因,这一点需要自己改正。
本周学习的switch语句听老师讲后自己仍然有许多没有很清楚,在经过写PTA的作业后,对switch语句的掌握程度更好,例如最开始以为case后面的符号是;编译错误后翻书才知道是:。

posted @ 2020-11-27 20:41  彭樱  阅读(262)  评论(5编辑  收藏  举报