C语言|博客作业04
问题 | 回答 |
---|---|
这个作业属于哪个课程 | C语言程序设计‖ |
这个作业要求在哪里 | 作业要求 |
我在这个课程的目标是 | 熟练的使用for语法进行编程,改正敲代码时常出的错误 |
这个作业在那个具体方面帮助我实现目标 | 用PTA做for语句的练习,阅读他人代码和发现自己错误的博客作业 |
参考文献 | 《PTA系统常用问题解答》 |
1.PTA实验作业(20分/题)
1.1 求平方与倒数序列的部分和
本题要求编写程序,计算序列 ㎡ +1/m+(m+1)²+1/(m+1)+······+n²+1/(n+1)的前N项之和。
1.1.1 数据处理
数据表达: 使用了整形变量i,m和n,用int进行定义,使用了item和sum浮点型变量,用double进行定义
数据处理: 表达式item=i*i+1.0/i,sum=sum+item,以i=m为初始值,每次循环i+1的for语句对两个式子进行循环
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 5 | sum=57.283333 | n>m>0 |
20 40 | sum=2585.768771 | n>m>0 |
1.1.4 PTA提交列表及说明
说明:
1.部分正确:循环结构使用错了,开始时表达式二用的i<=n-m,对项数的理解错误,后来通过看书和计算知道了要改成i<=n
2.编译错误:在修改上次错误的途中一不小心把for括号里面的分号改为了逗号
3.部分正确:item的计算式写错了,忘记了item是浮点型变量,一不留心用的1而不是1.0,下次作业一定要更加仔细
1.2求交错序列前N项和
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
1.2.1数据处理
数据表达: 使用了整形变量i,flag,n,denomiantor,用int进行定义,使用了item和sum浮点型变量,用double进行定义
数据处理: 运用for语句对表达式item=flag*(double)i/denominator,sum=sum+item,flag=-flag,denominator=denominator+2进行循环计算
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
10 | 0.338 | N>0 |
20 | 0.386 | N>0 |
1.2.4 PTA提交列表及说明
说明:
这道题其实是一个简单的题目,我犯了一个非常粗心的错误,因为前四道题目的输出是sum=多少,所以我就没仔细看第五题题目要求的输出格式,依旧用的sum=多少的格式,而我也一直没有发现这个错误,只是以为我的计算式子写错了,我修改了很多次,其中也不小心出现了几个编译错误,后来实在找不到了就去问了助教,这才知道是输出的错误
2.代码互评
同学代码截图
自己代码截图
1.我加入了一个变量item来计算循环结构,而这位同学是直接与sum一起计算,相比而来更加简便
2.由于我的熟练程度不够,所以可能会借助更多的变量,看的出该同学是能比较熟练使用代码编程
同学代码截图
自己代码截图
1.该同学在给变量定义的时候就给这些变量赋予了初值,而我将两步分开了来写
2.该同学没有使用其他多余的变量,直接用一个式子计算结果,而我借助了多个变量,以方便我的运算
3.该同学的代码比我的简便许多,同样是比我熟练的原因
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第四周 | 6h | 68 | 学会了怎样使用for语句进行代码的循环运算 | 不能快速的想出表达式子的代码 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
本周主要学习了如何使用for语句进行循环结构的运算,比如简单的从1累加到100,这时的for语句为(i=1;i<=100;i++),其中i=1代表初始值,i<=100代表运算到这时停止循环,i++代表每次循环i都加1
3.3.2 学习体会
1.我觉得本周的作业比上一周的作业更加轻松,可能是因为从中体会到了乐趣
2.我逐渐认为敲代码,写博客不仅仅是完成作业似的枯燥无味,我能从开始时的错误到最后面答案正确的结果中感到很大的成就感
3.在PTA上完成作业时,出现了错误要学会看编译器的输出,自己寻找错误的地方