C语言I博客作业03
| 这个作业属于哪个课程 | 计科2班 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | 选取PTA中自己最满意的题并按要求完成;阅读他人优秀的代码,并从中学习对自己有用的地方;总结一周的学习过程与感悟。 |
| 学号 | 20208986 |
1.PTA实验作业(15分/题)
1.1 求简单交错序列前N项和
题目内容描述:本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
1.1.1实验代码截图

1.1.2数据处理
数据表达:定义了整型变量denominator,flag,i,n,浮点型变量item,sum;i是循环变量,n是循环终点,flag表示第i项的符号其初始为正,denominator表示第i项的分母其初值为1,item是第i项的值,sum表示求和。
数据处理:运用for循环语句输出前n项,flag=-flag是改变符号,denominator=denominator+3是分母递增3,运用库函数<stdio.h>。
1.1.3 PTA提交列表及说明

Q:输入的结果与预期值不一致
A:没有输入scanf语句,且printf输出语句中等于号没空空格,需改正。
1.2求分数序列前N项和
题目内容描述:本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
1.2.1 实验代码截图

1.2.2 数据处理
数据表达:定义了整型变量i,n,浮点型变量a,b,t,sum;i是循环变量,n是循环终点,a表示第i项的分子,b表示第i项的分母,t用于等价赋值,sum表示求和。
数据处理:输出前n项用到了for循环语句,sum+=a/b表示加上a/b之后的值的和,运用了<stdio.h>函数。
1.2.3 PTA提交列表及说明

Q:输出的结果错误
A:经过调试后发现sum的结果表达不对,将sum==a/b改为sum+=a/b,计算累加值才正确。
1.3求平方根序列前N项和
题目内容描述:本题要求编写程序,计算平方根序列√1+√2+√3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。
1.3.1 实验代码截图

1.3.2 数据处理
数据表达:定义了整型变量i,n,浮点型变量sum;i是循环变量,n是循环终点,sum是求和。
数据处理:运用了<math.h>中的sqrt函数求平方根,用for循环输出前n项。
1.3.3 PTA提交列表及说明

Q:输出结果与预期值不符
A:检查后没有发现逻辑和语法错误,通过查资料发现了sqrt的用法并使用
2.阅读代码(-5——5分)

代码功能:求最接近的三数之和
可学习处:代码排版很清晰,作者的逻辑思维很清楚,本题目因为要计算三个数,如果靠暴力枚举的话时间复杂度会很高,需要降低时间复杂度,此点作者做的非常好,首先进行数组排序,再使用前指针,作者使原本复杂的题目最简单化,并且让阅读者明白他在表示什么,是非常值得我学习的。
3.学习总结(15分)
3.1 学习进度条(5分)
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 6/10.8-10.25 | 3h | 63 | 打印“hello world” | 无 |
| 7/10.12-10.18 | 8h | 147 | 算数、赋值与输出函数 | 函数符号未弄透 |
| 8/10.19-10.25 | 10h | 232 | 数学函数的调用 | 有许多调用函数不认识 |
| 9/10.26-11.1 | 10h | 269 | if-else语句 | 无 |
| 10/11.2-11.6 | 10h | 337 | for语句 | 循环太多有点绕不过来 |
3.2 累积代码行和博客字数(5分)


浙公网安备 33010602011771号