这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业004 |
我在这个课程的目标是 | 掌握循环结构的用法,学会for语句的使用 |
这个作业在那个具体方面帮助我实现目标 | 学会循环结构,能解决一些有一定规律的数学问题 |
参考文献 | 软件四班助教的作业代码 |
1.PTA实验作业
1.1 (7-4) 求平方与倒数序列的部分和
题目内容描述 :本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例:
5 10
输出样例:
sum = 355.845635
1.1.1数据处理
数据表达: 此题定义了i和n两个整形变量分别用于作为中间变量和输入的参数;此外还定义了一个双精度浮点型变量sum作为最终的求和值,并定义sum的初始值=0
数据处理: 计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 1 | sum = 1 | 最小边界 |
5 10 | sum = 355.845635 | 同sample |
1.1.4 PTA提交列表及说明
提交列表说明:
- 格式错误:在i <= n处写成了i<= n ;忘记空格了,导致格式错误
1.2(7-5) 求交错序列前N项和
题目内容描述 :本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
输出样例:
0.917
1.2.1数据处理
数据表达:此题定义了i,n,flag三个整形变量,i作为中间变量,n作为输入的参数,flag用作于表达式中正负号的变换,此外还定义了一个双精度浮点型变量sum作为最终的求和值,并定义sum的初始值=0
数据处理: 计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和
- flag作为变换表达式中正负号的中间参量
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 0.917 | sample,N是奇数 |
6 | 0.372 | 偶数 |
1 | 1.000 | 最小奇数 |
2 | 0.333 | 最小偶数 |
1.2.4 PTA提交列表及说明
提交列表说明:
- 答案错误:printf("%.3f", sum);中的%.3f因为前面的题目习惯性以为就是sum = %.3f,所以输出的结果是sum = 0.917,答案错误。
- 答案错误:同上,第一次改没改对位置
2.代码互评
同学代码截图
自己代码截图
不同点
- 第八行中同学的代码中间用了double进行强制转换, 将他强制转换成浮点型的数 ,我则是在输入数据的时候就直接用的实数
- 他将分母的累加放在了sum表达式之后重新列了个式子作为分母的累加运算,我直接就加在sum表达式中同步进行了分母累加的过程
3.我的代码因为整合在一起所以可能显得简单一点
3.学习总结
3.1 学习进度条
周 | 这周所花的时间 | 代码行 | 学到的知识点简介 |
---|---|---|---|
第八周 | 12小时 | 110 | for循环结构 |
3.2.累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第五周 | 828 | 0 |
第六周 | 2985 | 372 |
第七周 | 4362 | 598 |
第八周 | 708 |
3.3 学习内容总结和感悟
3.3.1 学习内容总结
-
for循环结构:for(表达式1;表达式2;表达式3)
循环体语句;
-
i++自增
3.3.2 学习体会
这一周的学习过程中还算顺利,没有遇到什么特别大的困难点;但是没有做好的是自己想要养成的习惯却没有做到,本来说要养成每次写代码都要做好注释但是这周却没有做到;同时用收获的地方,试了下那个网络安全竞赛,虽然只做出了前两道题,后面的就做不动,这可能是我们还没有学web的原因吧,但是还是感觉有所收获,明白了其实有时候答案就在最明显的地方,但是你得学会发现他,要有善于发现的眼睛,这对我们以后检查代码也是有用。