C语言I博客作业04

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9768
我在这个课程的目标是 熟练地使用for循环语句实现指定次数的循环程序设计
这个作业在那个具体方面帮助我实现目标 学习sum累加和,product累加积以及定义赋值
参考文献 《C Primer Plus》,百度百科, Markdown基本语法

1.PTA实验作业

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

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

输入格式:输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。

1.1.1数据处理

数据表达:用了m,n,sum,item四个变量。其中m,n是整形变量,是通过直接输入得来的。sum,item是双精度浮点型变量,通过赋值得来的。
数据处理:for语句中有三个表达式——1.m,2.m<=n,3.m++.流程结构是输入m,n,将m的值赋给i,定义sum的初始值为0,建立for循环,规定i的上限为n,设定循环体让结果累加,并且每次i都加一,最后输出sum。

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
5 5 25.200000 m=n
10 20 2585.768771 m<=n
-5 0.000000 m>n

1.1.4PTA提交列表及说明


1.编译错误:for语句三个表达式用逗号隔开的,没有用分号。
2.答案错误:在我写的程序里,当n<m时,输出 Invalid Value!。
3.答案错误:精确到小数点后的位置不对,我精确的是三位,而题目要求6位数。

1.2求交错序列前N项和

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。

输入格式:输入在一行中给出一个正整数N。
输出格式:在一行中输出部分和的值,结果保留三位小数。

1.2.1数据处理

数据表达:定义了四个整形变量,N,i,flag,denominator,定义了两个双精度浮点型sum与item.通过直接输入与赋值得来。
数据处理:输入N来确定上限,定义sum的初始值是0,设定for循环初始值i=1,上限为N,设定循环体累加,flag=-flag,分母每次加+2,在到达上限时求sum的值,并且精确到3位小数.

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
5 0.917 验证是否正确
10 0.380 输入一个正整数
-5 0.000 输入一个负整数

1.2.4PTA提交列表及说明


1.答案错误:输出格式不正确。
2.答案错误:我的sum定义为double,而句中用的%.3d。
3.部分正确:item=flagi/denominator;
4.编译错误:我的item=flag
i.0/denominator;正确的是item=flagi1.0/denominator;

2.代码互评

同学代码截图(1)

同学代码截图(2)

自己代码截图


与同学(1)的差异:
1.定义常量不同.我额外运用了flag与denominator。
2.循环结构不同.我运用的sum=sum+item,flag去改变符号,分母每项递增2求和。同学(1)调用数学函数sum=sum+pow(-1,i+1)i/(2i-1)。
3.我的排版通俗易懂,常规做法,同学(1)的设置更加巧妙,节省时间.

与同学(2)的差异:
1.同学(2)的变量命名更加简便.
2.同学(2)比我少定义一个item.

3.学习总结

3.1 学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
第四周(10.14--10.18) 15个小时 250行左右 for循环语句,基础的循环程序设计,数据的输出宽度 数据的输出宽度概念不太清晰,表达式的定义,空语句的定义

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1学习内容总结

本章通过输出华氏-摄氏温度转换表,学习for循环语句,以及了解了数据的输出宽度.for语句有三个表达式,表达式1为初始状态,表达式2为循环执行条件,表达式3为循环控制变量的变化,其中,表达式1只执行一次,for语句后面没有分号.for语句中的表达式用分号隔开.循环体语句只能是一条语句,如果循环多条语句要用大括号包括起来,组成复合语句,复合语句在语法上是一条语句.举例for(fahr=lower;fahr<=upper;fahr++)1.三个表达式分别为fahr=lower,fahr<=upper,fahr++.表达式要用分号隔开,否则编译错误,for语句后面不用打分号,for语句之后打了分号就为空语句,不参与程序运行

3.3.2学习体会

通过本周的学习,学习了for循环,也学习了指定次数的循环程序设计.一开始看到的时候也觉得挺复杂的,但是认真地学习之后不仅不复杂,还可以在学习中体会编程的乐趣,那种答案正确的喜悦感也是求学路上的一道风景线,对于计算机科学与技术学习,我认为应该提前自学,上课时负责解决疑难问题的,要多运用课余时间去自学,不仅仅是C语言这一门课程,大学学习中的任意一门学科都应该如此,坚定信念,怀揣梦想,努力就一定有收获.
原文地址:https://www.cnblogs.com/wllrky/p/11681374.html