这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业004:第八周作业 |
我在这个课程的目标是 | 明白怎么去实现for循环 |
这个作业在那个具体方面帮助我实现目标 | 学会如何避免一些for循环中的错误 |
参考文献 | PTA |
1.PTA实验作业
1.1 求平方与倒数序列的部分和
要求对两个正整数m和n(m≤n)编写程序,计算m2+1/m+(m+1)2+1/(m+1)+⋯+n^2+1/n。
输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例:
5 10
输出样例:
sum = 355.845635
1.1.1数据处理
数据表达:本题用了整形变量n,m,i,浮点型变量sum,其中n,m用来接受输入的2个值,i用来控制for循环的结束,sum用来统计累加起来的和。
数据处理:运用了赋值表达式和循环语句。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
-10 -1 | sum = 382.071032 | m,n小于0 |
1 10 | sum = 387.928968 | m,n大于0 |
0 0 | sum = 1.#INF00 | m,n等于0 |
1.1.4 PTA提交列表及说明
在PTA没有出错但在codeb locks里出现过以下错误
编译错误: 将题目看错将m²+1/m看成了(m²+1)/m
编译错误: 打字母太快没将#加上去
1.2 求交错序列前N项和
计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
输出格式:在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
输出样例:
0.917
1.2.1 数据处理
数据表达:本题运用了整形变量n,i,a,b,浮点型变量sum,n用来接收所要计算的项数,i用来控制for循环的结束,a,b将循环的数达到要求的改变,sum统计累加起来的和。
数据处理:运用了赋值表达式和循环语句,此外我还用了强制转换,将i/b转化成浮点型。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
3 | 0.933 | 大于0 |
-5 | 0.000 | 小于0 |
0 | 0.000 | 等于0 |
1.1.4 PTA提交列表及说明
编译错误:在编译器输出寻找error后再找到对应的行数去改正
答案错误:可能是计算式写错了,也可能是输出的时候等号两边没有空格
2.代码互评
(四班孙梦姣)同学代码截图
(三班王海靓)同学代码截图
自己代码截图
1,第一份和第二份的区别在于第一份是用了5个变量来计算总数,而第二份只用了3个变量,相对于第一份,第二份更好一些,因为第二份所需开辟的空间要少
2.第一份与我的相比较,我赋值直接是在定义变量的时候就赋值了,她是在定义之后再赋值,我认为再定义的时候赋值比较好,因为定义完了之后再赋值可能会忘记给一些变量赋值。
3.第二份与我的相比较,他更好的节省了空间,而且他用数字后面加.0的方式将分数变成了浮点型而我用了强制转换,相对看起来我认为我的比他要容易看出写的是什么。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第六周 | 25小时 | 434行 | 常用的数学函数,if-else语句,for语句和自定义函数 | 自定义函数不会用一个算法来运算多个式子 |
第七周 | 8小时 | 142行 | 二分支结构和用char输入字符 | 对于字符型的代码有点看不懂,getchar与putchar还不明白怎么运用 |
第八周 | 12小时 | 343行 | 多分支结构,switch语句 | switch语句用得有点混乱,搞不清什么时候该结束 |
3.2 累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第四周 | 645 | 0 |
第五周 | 645 | 0 |
第六周 | 1275 | 434 |
第七周 | 2523 | 576 |
第八周 | 3371 | 938 |
3.3 学习内容总结和感悟
3.3.1 学习内容总结
本周学习了for循环语句,
使用格式为:
for(表达式1;表达式2;表达式3)
{
……//循环体
}
其中"表达式1"只执行一次,循环是在"表达式2""表达式3"和"循环体"之间进行的;
在使用for循环时变量可以是一个也可以是多个,在for循环中语句可以为语句体, 语句体外加大括号"{}"将参加循环的语句括起来
同时,for循环也可以连续使用,以达到多次循环。
3.3.2 学习体会
本周的学习我觉得很充实,在自己想玩的时候就会去编程,在预习课本的是发现对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,在预习的时候也用过一些代码做一些自娱自乐的代码,这样不仅让我感觉到了快乐也让我掌握编程思想,所以我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。