C博客作业01--分支、顺序结构

1.本章学习总结

1.1 思维导图

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

本周学习感受:我原先有一定的基础,学习起来较轻松,知识总体能够理解并运用,但不够熟练,对于细节问题不够敏感。在原有的基础上加深了对代码规范的理解,了解了变量命名(认识了驼峰命名法)以及注释的重要性。学习了浮点精度缺陷这一平时容易忽略的细节问题。
不懂的地方:算术运算符、、关系运算符、赋值运算符和逻辑运算符的优先级关系。

1.2.2 代码累计

2.PTA总分

2.1


2.2 我的总分:

第一章顺序结构:100分
第二章分支结构:125分
总 分:225

3.PTA实验作业

3.1 PTA题目1

在一行中输入24时制的时间,输出这个时间对应的12小时制的时间,数字部分格式(当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。),然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:0 PM;而0点被认为是第二天的时间,所以是0:0 AM

3.1.1 算法分析

1.定义24时制小时数Hour,分钟数minute,12时数hour
2.Hour=24时制数,输入24时制数。
3.若24时制小时数大于12hour的值为Hour-12
4.否者hour的值为Hour
5.输出hour的值。
6.若Hour大于或等于12并且Hour小于24输出 PM
7.否者输出 AM

3.1.2 代码截图

3.1.3 测试数据

3.1.4 PTA提交列表及说明

  • Q1:没看清题目对于英文习惯的要求,按照个人认知习惯答题致错。
  • A1:采用分次输出,先输出12时制的小时和分钟,再出 AM(PM)。
  • Q2:误认为24时制的24时为12时制的0时。
  • A2:采用逻辑运算符进行条件特判,避免出错。

3.2 PTA题目2

在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)输入日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。 输出该日期是该年中的第几天。

3.2.1 算法分析

1.定义整数年year、月month、日day
2.定义二月份天数february=28。
3.输入yearmonthday
4.若为闰年february=29。
5.定义天数number=day
6.定义整数i=1,用for语句建立一个循环,每轮循环结束i加一,当i大于month时循环结束。
7.循环内部采用switch语句,当i为2时number加上february;当i为大月月份数时,number加上31;当i为小月月份数时,number加上30。
8.输出number的值。

3.2.2 代码

3.2.3 测试数据

3.2.4 PTA提交列表及说明

  • Q1:逻辑运算符使用错误。
  • A1:将&&改成||。
  • Q2:对循环中i值的定义错误。
  • Q2:在纸上列草稿后弄明白i应该从1算起,把原代码中i=0改成i=1。

3.3 PTA题目3

根据活动经费和U盘单价预估可购买U盘的最大数量

3.3.1 算法分析

思路一:1.浮点定义经费money、单价price,整型定义数量num
2.输入moneyprice
3.做除法结果赋值给num(并在结果补充精度0.000001)。
4.输出num的值。

思路二:1.浮点定义经费money、单价price、数量number
2.输入moneyprice
3.做除法运算,结果赋值给number
4.用%.0f输出number(考虑到会四舍五入本应在原有number的基础上减去0.5但又考虑到精度缺陷于是在原有number的基础上减去0.499999)。

3.3.2 代码

代码一:

代码二:

3.3.3 测试数据

3.3.4 PTA提交列表及说明

  • Q1:未考虑到浮点数精度缺陷问题导致部分分值拿不全。
  • A1:在老师提醒后,在计算式末尾加上0.000001补充精度。

4.点评同学博客

点评一:

点评二:

点评三:

点评四:

点评五:

posted @ 2018-10-04 11:57  super饭团君  阅读(488)  评论(25编辑  收藏  举报