C语言I作业004
| 这个作业属于那个课程 | C语言程序设计II |
| 这个作业要求在哪里 | C语言I博客作业04 |
| 我在这个课程的目标 | 通过做PTA,来发现自己对循环语句的问题,并解决问题。 |
| 这个作业在那个具体方面帮助我实现目标 |
在PTA做题中,对循环语句的更好的运用,还对定义变量有了更多的了解。 |
| 参考文献 |
《c语言程序设计》 |
1.PTA的截图

1.1 求N分之一序列前N项和
题目内容:本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
1.1.1数据处理
数据表达:利用了整形变量i与N和浮点型变量sum。
数据处理:利用了循环语句,通过scanf和printf输入,通过%.6f确定其精度,公式是sum = sum + 1.0/i。利用1.0/i是因为定义了sum为双精度浮点数。
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
| 10 | cost =2.928968 | 等于10 |
| 2 | cost = 1.500000 | 小于10 |
| 14 | cost = 3.251562 | 大于10 |
| -7 | cost = 0.000000 | 小于0 |
1.1.4 PTA提交列表及说明

说明:
1.编译错误:原因在于我把for语句后面加上了“;”。
2.编译错误:原因在于我没有把printf里的%.6f写成了%.2f,没有注意题目的精度值为6位小数。
1.2求交错序列前N项和
题目内容:本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
1.2.1数据处理
数据表达:首先定义整形变量i,N,flag,denominator,再定义浮点型变量sum,item。
数据处理:通过printf和scanf语句输入,再利用循环语句循环数据,利用到的公式是item = flag*1.0/denominator,通过%。3f来确定三位小数。
1.2.2实验代码截图

1.2.3造测试数据
| 输入数据 | 输出数据 | 说明 |
| 10 | cost = 0.380 | 等于10 |
| 2 | cost = 0.750 | 小于10 |
| 14 | cost = 0.824 | 大于10 |
| -7 | cost = 0.000 | 小于0 |
1.2.4PTA提交列表及说明

说明
1.编译错误:没有输入include<math.h>导致编译错误。
2.编译错误:忘记%.3f中的.号,导致错误。
3.答案错误:在写公式的时候除号“/”写成了“\”,导致答案错误。
4答案错误:等号直接没有打空格,导致错误。
2.代码互评
同学1

同学2

本人

差异:
1.这位同学的格式在清一色的格式中简直就是奇葩,从来没有想到还能这样写代码,这样写出来还挺好看的。
2.第二位同学在每一句中都有解释,让人一目了然,很好理解。
3.最后就是我的了,我和第二位同学相比,他比我多定义了一个分母,看上去比我的更好理解。但我的也比他较为简洁。
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
| 10.7~10.11 | 8h | 223 | 一些简单的编程和编程步骤 | 符号的运用,整形变量的定义 |
| 10.12~10.17 | 7h | 215 | for语句和if-else语句的运用 | 双精度浮点函数的定义和函数的表达 |
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结
本周学习了一种新型语句for语句,又叫循环语句,通过这个语句我们可以编一些无限制加减的有规律的式子,一般的for语句大都类似于,for(i=1;i<=n;i++),在这个for语句后面不能加入分号否则会导致在循环语句时就截止,不在运行。如果要实现加减交替变化则可以x=-x的形式放在for语句的从句之中。
3.3.2 学习体会
每次写PTA都要花费很多的时间,但这次比上一次要花的时间少,这也许是积累的效果,每天积累一点总会成江河,前天我和以前高中同学聊天,她学计算机科学与技术,她比我高考高很多,但她还没有接触利用电脑来写程序,我觉得这就是超过她的好时机,虽然起点不同,但不代表不能反超。所以我要努力,继续加油拼搏,争取在大四以后可以获得很多经验,在以后参加工作可以有更高的平台,给家里人分担自己的一份力。
浙公网安备 33010602011771号