c语言------第一次作业,分支,顺序结构
1.1思维导图
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
一星期下来,接触了顺序结构和分支结构,虽然这些东西在暑假都已经自学完了,但是毕竟有点久了,有些细节问题,比如switch-case语句要用花括号,我现在就有点不记得了。再次看书之后,就又重拾知识点,记忆更深刻。假期、周末是很好的学习时间,我会好好利用,毕竟,在老师讲授新知识之前,自己先去学,练习代码,听课的时候自然就轻松很多,做起作业来也会事倍功半。对目前老师的教学吧,希望可以稍微快一点,前面知识点比较容易,可以适当加快进度,在后面数组、指针等更难的问题上,可以花更多时间来练习。
1.2.2 代码累计
2.PTA中顺序结构、分支结构的排名得分及总分
2.1PTA中顺序结构、分支结构的排名得分
2.2 我的总分:
顺序结构:100
分支结构:125
总分:225
3.PTA实验作业
3.1 PTA题目1
IT协会举办程序设计竞赛,准备购买U盘作奖品。请编写程序,根据活动经费和U盘单价预估可购买U盘的最大数量。
3.1.1 算法分析
1.定义活动经费outlay,U盘单价price,可以买的U盘总数quantity。
2.U盘总数quantity=活动经费outlay/U盘单价price的整数部分。
3.1.2 代码截图
3.1.3 测试数据
3.1.4 PTA提交列表及说明
Q1:不知道double问题,使计算结果出现误差
A1:在数量quantity后面加上0.001,由此消除浮点误差
3.2 PTA题目2
输入三个整数x,y,z,请把这三个数由小到大输出。
3.2.1 算法分析
1.定义三个整数x,y,z。
2.分情况讨论三个数大小。
3.将最大值给z,最小值给x,中间值给y。
4.三个数按重新赋值后x,y,z顺序输出。
3.2.2 代码
代码1
代码2
3.2.3 测试数据
3.2.4 PTA提交列表及说明
Q1:提交出现段错误
A1:忘记在scanf里面加上取地址符&,使得后面无法识别变量
Q2:第一个代码太繁琐,如果比较的数多的话,要分很多种情况
A2:改进后代码如2,只要比三次,依次比较将最大值放入z中,最小值放入x中
3.3 PTA题目3
编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。
3.3.1 算法分析
1.输入小时hour,分钟minute。
2.如果0<=hour<12,那么时间为上午,直接将时间输出,并且加上AM.
3.如果hour=12,那么时间是下午,时间也是直接输出,但是后面改为PM.
4.如果hour<24,那么时间是下午,小时变成hour-12,其他不变,后面加上PM输出
3.3.2 代码
代码1
代码2
3.3.3 测试数据
3.3.3 PTA提交列表及说明
Q1:十二点多的情况,小时减后变成了0.
A1:将十二点多的情况单独列出来写个条件句即可。
Q2:分支条件过多,看起来繁琐。
A2:在助教的建议下,可以将0点的情况合并到上午,直接将hour>0变成hour>=0,加个等号即可。