这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业004 |
我在这个课程的目标是 | 掌握并使用for循环语句 |
这个作业在那个具体方面帮助我实现目标 | 在理解并运用for语句时学习到for语句的用法 |
参考文献 | 集美大学林丽老师 |
1.PTA实验作业
1.1求简单交错序列前N项和
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
1.1.1数据处理
数据表达:用了n,i,sum三个变量,前两个为整形变量,sum为双精度浮点型变量。
数据处理:用了i = 1; i<= n; i ++;sum = sum - 1.0/(3*i - 2);sum = sum + 1.0/(3*i - 2)表达式,以及for循环结构
1.1.2实验代码截图
1. 1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 1.000 | N是最小奇数 |
2 | 0.333 | N是最小偶数 |
99 | 0.894 | N是奇数 |
100 | 0.391 | N是偶数 |
1.1.4 PTA提交列表及说明
1.答案错误:(sum = sum - 1/(3*i - 2);)此处sum为双精度浮点变量,未将1改为1.0
2.答案错误:开始打快了,将return打成了retrun
1.2求交错序列前N项和
1.2.1数据处理
数据表达:用了 N,i,sign,sum三个变量,其中sum为单精度浮点型变量,其他为整型变量
数据处理:通过获取网络资源了解到此题可采用 sum += (sign*=-1)*((float)i)/((float)(2*i-1))更为简便
1.2.2实验代码截图
1. 2.3是一直循环计算加到n3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 0.917 | 如题中示例所给相符 |
-1 | 0.000 | 与题中正整数N不符即直接输出0.000 |
0 | 0.000 | 无数字则输出为0 |
1.2.4 PTA提交列表及说明
1.答案错误:由题可知,(float)2*i分母为奇数,而我忘记-1了
2.答案错误:结果保留3 位小数,我打成了2位
2.代码互评
同学代码截图
自己代码截图
1.我是一直循环计算加到n,他把n提出来了
2.他分成了两个表达式,我是一个
3.我直接在定义sum时将其赋值为0
同学代码截图
自己代码截图
1.我的相对于来说可能稍微简洁点
2.他多用了个S来与sum等价
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周/10.14-10.20 | 20小时 | 268行 | for循环语句 | 一些符号的含义 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
这周主要学习了循环结构中的for循环语句(表达式1; 表达式2; 表达式3 ),其中表达式1为设置循环初始条件,表达式2为判断循环条件,表达式3为修改循环条件;在此语句中,每个表达式之间要以分号隔开,这点比较容易忽视
3.3.2 学习体会
最近的学习感觉比较紧,加上社团活动比较多,这周的c语言的学习就有点吃力了,在有些地方就还不是很懂,所以我就觉得这个for语句比分支语句难一些,其实最主要的还是基础不牢固,在周末还是要多点时间出来学习学习,千万不能跟不上老师的步伐了,加油啊!