0.展示PTA总分
1.本章学习总结
1.1学习内容总结
1.基本数据类型
int整型数、float浮点数、double双精度浮点数、char字符类型
2.函数
- 输入输出函数:scanf()、printf()、getchar()、putchar()
- 数学函数:平方根函数sqrt()、绝对值函数fabs()、幂函数pow()、指数函数exp()、以e为底的对数函数log()
- 随机函数:rand()
3.逻辑运算符
!逻辑非、&&逻辑与、||逻辑或
4.if-else语句
5.for语句
6.while语句
7.do-while语句
8.switch语句
1.2本章学习体会
1.开学之前没有对c语言进行预习,只一个hello world的程序。通过这两周的学习,对c语言有了浅显的了解。明白编程必须要动手实践,否则不可能学会。有些题虽然看着简单,但总是会出现这样那样的错误,这是不熟练所造成的。林丽老师讲的很好,但我思维比较慢,有时候可能跟不上。PTA上的题目感觉很严格,有时候错误要找很久,甚至找不出来。
2.代码量大概有900行左右。
2.PTA实验作业
2.1龟兔赛跑
2.1.1数据处理
1.数据表达:定义赛跑时间变量T,tur为乌龟的路程,rab为兔子的路程。
2.数据处理:找到兔子与乌龟在相同时间的路程关系,发现兔子在每九十分钟的前十分钟、四十到五十分钟、八十到九十分钟是运动的,形成循环,最后比较路程大小,再输出大的路程。
2.1.2代码截图
2.1.3本题可扩展功能
可以计算兔子与乌龟的平局速度。
2.1.4PTA提交列表及说明
本来不明白兔子与乌龟之间路程的关系怎么表示,后来参考了网上的,明白之后在编译中却漏了一个分号,导致编译错误。
2.2骑车与走路
2.2.1数据处理
1.数据表达:定义总路程distant,骑车的时间time1,走路的时间time2。
2.数据处理:time1=distant/3.0+50;time2=distant/1.2然后比较time1与time2的大小。
2.2.2代码截图
2.2.3本题可拓展功能
可以进而输出比较快的方法的时间或速度,反之亦然。
2.2.4PTA提交列表及说明
本题比较简单,但做的时候在情急之下把两个方式的速度弄反了,导致部分正确,之后把速度调过来就正确了。这是我常犯的一个错误,需要注意一下。
2.3给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。
2.3.1数据处理
1.数据表达:定义两个整形变量A和B。
2.数据处理:依据题中2所给的各种情况,正常情况,分母是负数,分母是0等一一列出。
2.3.2代码截图
2.3.3本题可扩展功能
可以将范围与整数限定去掉,从而改造成一个用于除法计算的计算器。
2.3.4PTA提交列表及说明
原本此题错误之后,我以为是A、B的情况少讨论了,看到答案错误觉得并不是,于是找了好久,终于发现printf()里的等号写成了双等号。改过之后才正确。
3.代码阅读
1.说明:选自ACM,另一个网站不知为何打不开。
2.功能:代码过于复杂,很多看不懂,英文翻译为中文后也看不懂这代码是干什么的。
3.优点:虽然代码很复杂,但可以看出其明显优点,运用了多个while语句嵌套,还有将for语句用于while语句中,并用了if-else结构,且其中嵌套if-else语句,整体结构较为清晰明了,可读性很强。相信如果不是其中有许多陌生知识,读这段代码还是相对简单的。