C语言I博客作业04

心已入冬 提交于 2019-12-01 16:35:55
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业004:第八周作业
我在这个课程的目标是 明白怎么去实现for循环
这个作业在那个具体方面帮助我实现目标 学会如何避免一些for循环中的错误
参考文献 PTA

1.PTA实验作业

1.1 求平方与倒数序列的部分和

要求对两个正整数m和n(m≤n)编写程序,计算m^2+1/m+(m+1)^2+1/(m+1)+⋯+n^2+1/n。

1.1.1数据处理

数据表达:本题用了整形变量n,m,i,浮点型变量sum,其中n,m用来接受输入的2个值,i用来控制for循环的结束,sum用来统计累加起来的和。
数据处理:运用了赋值表达式和循环语句。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
1 10 sum = 387.928968 计算1+1+2^2+1/2+⋯+10^2+1/10的和

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项之和。

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 计算1-2/3+3/5的和

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"和"循环体"之间进行的;

3.3.2 学习体会

本周的学习我觉得很充实,在自己想玩的时候就会去编程,在预习课本的是发现对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,在预习的时候也用过一些代码做一些自娱自乐的代码,这样不仅让我感觉到了快乐也让我掌握编程思想,所以我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!