博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C博客作业01--分支、顺序结构
阅读量:7119 次
发布时间:2019-06-28

本文共 2422 字,大约阅读时间需要 8 分钟。

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

1.1思维导图

总结本周的学习内容,如下图所示:

1476233-20181008172539792-965491415.png

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

1.2.1 学习体会

因为之前自己提前看过翁恺老师的视频,这周所学的比较轻松。但在课堂上,仍然收获了很多小小的细节,比如驼峰命名法;if-else语句的格式取两位小数时会不会四舍五入等。这些能让我写的代码更容易被其他人读懂,也开阔了自己的思维,慢慢学会多去问一些为什么,多去试试其他的可能性。

还有,可能因为有一段时间(接近半个月)没敲代码,所以一些比如scanf里面的&经常被忘记,以后要多多敲代码啊。

1.2.2 代码累计

1476233-20181008172503271-2077577950.png

2.PTA总分

2.1截图展示

1476233-20181008172807531-1327406895.png

1476233-20181008172912636-1705970296.png

2.2 我的总分:

PTA总分:225分

PTA实验作业

3.1 PTA题目1

请编写程序,根据活动经费和U盘单价预估可购买U盘的最大数量。

3.1.1 算法分析

- 1.需要的变量:经费money、U盘单价price、U盘数量number;- 2.用double定义经费money和U盘单价price,用int定义U盘数量number;- 3.输入经费和U盘单价。- 4.代入表达式:number=money/price+0.0000001。(注意double的精度缺陷)- 输出最大U盘数量。

3.1.2 代码截图

1476233-20181008181747615-626373074.png

3.1.3 测试数据

1476233-20181008182930654-910967952.png

3.1.4 PTA提交列表及说明

1476233-20181008183046277-265401242.png

  • Q1:为什么只是部分正确,我感觉我写的很对???
  • A1:double本身精度存在缺陷,需要手动补偿。(当时刚提交一次之后就和舍友谈论,试了好几个点之后还是错。然后第二天看到有人满分了,就屁颠屁颠地去求助大佬啦)

    3.2 PTA题目2

    题目简介:
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元;超起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的回空补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

3.2.1 算法分析

- 1.定义路程和等待时间。- 2.输入路程和等待时间- 3.若路程<=3公里,车费=10+等待时间/5*2;- 4.若3公里
<路程>
<=10公里,车费=10+2*(路程-3)+等待时间/5*2;;- 5.若路程>10公里,车费=10+2*(路程-3)+2*0.5*(路程-10)+等待时间/5*2;;- 6.输出车费。

3.2.2 代码截图

1476233-20181010164551881-255982624.png

3.2.3 测试数据

1476233-20181010170405708-126445568.png

3.2.4 PTA提交列表及说明

1476233-20181010170444700-1289085930.png

(不要看提交列表就俩,鬼知道我在Dev-C++上有多绝望!!)

  • Q1:对于题目说的时间问题,刚开始是想先用if语句判断时间是否为0,后来发现根本不行。。头大。
  • A1:后来看到闲着无聊就去看了一下自己之前写的的笔记,看到整数除以整数,结果只取整数,就想到了。
  • Q2:对题目不理解。
  • Q2:先不敲代码,在纸上先解出这个数学题,写成分段函数,就好啦。

    3.3 PTA题目3

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

3.3.1 算法分析

- 1.定义年、月、日;- 2.输入年、月、日;- 3.首先判断年是否为闰年,即该年年份能被4整除且不能被100整除、或者能被400整除。- 4.若为闰年:     - 若月为一月,则天数=日;     - 若月为二月,则天数=日+31;     - 若月为一月,则天数=日+31+29;     - 若月为一月,则天数=日+31*2+29;     - 若月为一月,则天数=日+31*2+29+30;     - 若月为一月,则天数=日+31*3+29+30;     - 若月为一月,则天数=日+31*3+29+30*2;     - 若月为一月,则天数=日+31*4+29+30*2;     - 若月为一月,则天数=日+31*5+29+30*2;     - 若月为一月,则天数=日+31*5+29+30*3;     - 若月为一月,则天数=日+31*6+29+30*3;     - 若月为一月,则天数=日+31*6+29+30*4;- 5.若不为闰年:     - 若月为一月,则天数=日;     - 若月为二月,则天数=日+31;     - 若月为一月,则天数=日+31+28;     - 若月为一月,则天数=日+31*2+28;     - 若月为一月,则天数=日+31*2+28+30;     - 若月为一月,则天数=日+31*3+28+30;     - 若月为一月,则天数=日+31*3+28+30*2;     - 若月为一月,则天数=日+31*4+28+30*2;     - 若月为一月,则天数=日+31*5+28+30*2;     - 若月为一月,则天数=日+31*5+28+30*3;     - 若月为一月,则天数=日+31*6+28+30*3;     - 若月为一月,则天数=日+31*6+28+30*4;- 6.输出天数.

3.3.2 代码截图

1476233-20181010173055199-1172642950.png

1476233-20181010173136154-700773198.png
1476233-20181010173201502-272146491.png
(呼,不得不说,这个真的是很长的一串代码。)

3.3.3 测试数据

1476233-20181010175116498-1623882626.png

3.2.4 PTA提交列表及说明

1476233-20181010175206746-1446176842.png

(没错,我又是在Dev-C++上写好了再搬过去的)
Q1:有点纠结输入里面的“/”符号的输入,是可以直接输入,还是再定义两个字符?
A2:老师上课说过,scanf里面的非格式符要原样输出(居然忘了!!)
Q2:这个程序不难,但是我写了很长,而且很大一部分几乎是重复的,有什么办法可以解决?
A2:下面是我在逛博客里面看到严威和林玮璐同学的代码,我觉得思路更清晰,明显比我的简洁!!!
严威同学的代码:
1476233-20181010175719943-1276642236.jpg
林玮璐同学
1476233-20181010181523326-1657065136.png

4.点评同学博客

1.

1476233-20181010181611860-1457793907.png

2.

1476233-20181010182617296-210935878.png

3.

1476233-20181010182710261-1153453034.png

4.

1476233-20181010183408762-1090450003.png

5.

1476233-20181010184235872-1278298321.png

转载于:https://www.cnblogs.com/yhy949/p/9755854.html

你可能感兴趣的文章
【极客学院出品】Cocos2d-X系列课程之六-用户交互事件处理方法
查看>>
JSP include directive 和JSP include的区别
查看>>
【2】puppet笔记 - package、service、user资源
查看>>
Cinder - 云硬盘加密
查看>>
Centos7下,LVM根分区扩容
查看>>
centos安装redmine项目管理系统
查看>>
java返回ajax的请求值
查看>>
lamp编译安装
查看>>
用gcc/g++编译运行C/C++程序
查看>>
mysql利用init-connect增加访问审计功能的实现
查看>>
Ubuntu 10.04下更行新内核
查看>>
数据恢复工程师视角看腾讯云静默损坏事件
查看>>
Mybitis框架2016年1月3日
查看>>
AT&T全球网络运营中心GNOC
查看>>
FPI厂商SoleraNetworks被Blue Coat收购
查看>>
myeclipse安装svn插件的多种方式
查看>>
Hadoop学习曲线图
查看>>
snmpwalk 小工具
查看>>
Hibernate中的命名SQL查询
查看>>
MySQL 存储引擎和锁
查看>>