这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | C语言I博客作业04 |
我在这个课程的目标是 | 掌握使用for循环语句实现指定次数的循环程序设计 |
这个作业在那个具体方面帮助我实现目标 | 在编写代码中逐渐灵活运用 |
参考文献 | 博客作业04作业要求 |
一、.PTA实验作业
1.1 求奇数分之一序列前N项和
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输入样例:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:
输出样例:
1.1.1数据处理
- 数据表达:答题使用了整型int变量n、浮点型double变量sum
- 数据处理:使用基本的源程序作为框架,用到了for循环语句来运行表达式 sum = sum + 1.0/(2.0*i-1.0);
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
45 | sum = 2.885097 | 大于0 |
-1 | sum = 0.000000 | 小于0 |
0 | sum = 0.000000 | 等于0 |
1.1.4 PTA提交列表及说明
提交列表说明:
- 答案错误:一直没找到表达式的错误导致答案一直不对,后面几近波折终于改正了。
1.2 求交错序列前N项和
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
输出样例:
1.2.1 数据处理
- 数据表达:本题用到整型int变量i、n以及浮点型变量double变量sum、sign;
- 数据处理:利用函数的源程序框架,用for循环语句循环表达式: sign = pow(-1, i-1);
sum = sum +(isign)/(2.0i-1.0);计算出N项和。
1.2.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
40 | sum = 2.826208 | 大于0 |
20 | sum = 2.479673 | 大于0 |
-1 | sum = 0.000000 | 小于0 |
0 | sum = 0. 000000 | 等于0 |
1.1.4 PTA提交列表及说明
- 编辑错误:分号忘记打了;
- 答案错误:表达式错了一直写不出,反复运行不同表达式,终于找到问题,输出结果不需要写“sum = ”;
二、代码互评
同学(付翔亮)代码截图
同学(乐树文)代码截图
我的截图
- (1)第一份代码(付同学)和第二份代码(乐同学)区别不是很大,由于题目比较简单吧,所以代码也比较单一,稍微的区别就是乐树文同学的代码是sum初始为1,而付翔亮同学代码sum初始为0,付同学的代码要多运行一次,而且他俩答案表达保留小数点后六#位数也稍有区别,付同学是用sum = %f,而乐同学则用sum = %.6f,虽然意思一样,但是大道至简吧;
- (2)第一份代码与我的代码的区别在于,我写了很多没用的代码,比如开头那个#include<math.h>和后面的int分开用,而且还用double变量设了一个没用的sign,压根没用上;
- (3)第二份代码与第一份差别不大,所以和我的区别跟第二条分析差不多,总的来说,我的代码最复杂,但是比较方便变化。
三、学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第七周 | 10小时 | 132行 | 常用的数学函数,if-else语句 | 函数的运算问题 |
第八周 | 13小时 | 156行 | 学会运用for循环语句和知晓DevcC++调试 | 对于DevcC++还是不大会用 |
3.2 累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第五周 | 464 | 0 |
第六周 | 1017 | 50 |
第七周 | 1638 | 185 |
第八周 | 2533 | 341 |
3.3 学习内容总结和感悟
3.3.1 学习内容总结
- 本周学习了for循环语句以及运用DevcC++中的调试和编码;
- for循环语句主要是for那一行,首先for(写循环初始赋值;结束循环条件;循环时的表达式)
- 另外for循环语句使用没有特定次数,一个程序可以用一个for循环语句,也可以连用几个;
- 运用DevcC++调试,首先得确定语句没有语法问题,然后再慢慢添加条件逐步调错纠正.
3.3.2 学习体会
- 本周学习了for循环,比较上周的if-else语句稍微复杂一点,但问题不大;
- 主要感受就是作业时间越来越短了,作业要求也在逐步提高,对我们自身的技术含量要求提高了不少;
- PTA的作业可以事先在C语言的模拟器DevcC++编译没什么问题再复制粘贴过去,可以少很多提交错误,减少作业负担;
- 我还明白了编写代码的时候啊,不止是单纯的编代码,还得思考如何才能运行出想要的答案,主要是由于作业的难度提升,答案不再单一。