C语言I博客作业04

| | |
|:---😐:---😐:---😐
|这个作业属于那个课程|c语言程序设计I|
|这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9770|
|我在这个课程的目标是|熟练掌握c语言,学会怎样去做好表格,统计图,流程图等|
|这个作业在哪个方面帮我具体实现目标|熟悉了for循环结构的使用,与同学的代码进行对比精炼自己的代码|
|参考文献|《c语言程序设计(第3版)》|

本周作业

1.PTA实验作业

1.1求N分之一序列前N项和 (15 分)

本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
输入格式:输入在一行中给出一个正整数N。
输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:

6

输出样例:

sum = 2.450000

1.1.1数据处理

数据表达:
int N;存储输入的正整数。
int i;控制循环开始和结束的变量。
double sun;储存输出的值。
数据处理:用了for循环结构,表达式:sum=sum+1.0/i,流程结构见代码截图

1.1.2实验代码截图

1.1.3造测试数据

|输入数据|输出数据|说明
|:---😐:---😐:---😐:---😐
|6|2.450000|N取样例值|
50|4.499205|N取较小值|
100000|12.090146|N取较大值|

1.1.4PTA提交列表及说明

1.答案错误:用int定义i,而表达式是sum=sum+1/i。导致输出的不是浮点型
2.答案正确:修改为sum=sum+1.0/i。

1.2求奇数分之一序列前N项和 (15分)

本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
输入格式:输入在一行中给出一个正整数N。
输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:

23

输出样例:

sum = 2.549541

1.2.1数据处理

数据表达:
int i;控制循环开始和结束的变量
int N;存储输入的正整数
int s;储存用于表达式运算的变量
double sum;储存输出的值
数据处理:一个for循环结构,表达式:sum=sum+1.0/s;s=s+2。流程结构见代码截图

1.2.2实验代码截图

1.2.3造测试数据

|输入数据|输出数据|说明
|:---😐:---😐:---😐:---😐
|23|2.549541|N取样例值|
|50|2.937775|N取较小值|
|100000|6.738218|N取较大值

1.2.4PTA提交列表及说明

1.部分正确:前面没有引入变量s,直接用的i计算,导致计算到后面sum结果不对。
2.编译错误:修改的时候忘记在s=s+2后面加“;”。
3.答案正确:改为s=s+2;后答案正确。

2.代码互评

同学代码截图

自己代码截图

1.同学的代码引入了头文件#include<math.h>调用了数学函数的运算来变化符号,而我是用多个表达式来变换符号
2.同学的代码定义变量少,而我定义的变量多。

学习总结

3.1学习进度条

周/日期 这周所花的时间 代码行 学到的知识点 目前比较迷惑的问题
4/9-17 6 50 接触c语言,输出Hello World!
5/9-24 20 200 如何向别人提出问题,顺序结构 在完成PTA过程时总是被警告:忽略使用属性声明的"scanf"返回值
7/10-8 24 350 if-else判断结构,余数表示,逻辑"或"逻辑"与" 同上
8/10-15 20 400 for循环结构,

3.2累积代码行和博客字数

3.3学习内容总结和感悟

3.3.1学习内容总结

学会了for循环结构,用于解决累计求和等问题。循环结构格式:for(i=1;i<=N;i++)特别注意括号里的符号为;需要与其他的区分开来。
还要注意,如果定义变量i为整形,而需要输出为浮点型,表达式应该是1.0/i而不是1/i。例:如果i为整形,i=2,则1/i0,而1.0/i0.5。

3.3.2学习体会

在学习c语言的过程中,还是需要去预习和复习,不能学了后面就忘了前面。同时还需要多去编码,多去刷PTA。预习的时候边对着书边做PTA上面的题目,才是最高效的预习。

posted @ 2019-10-18 08:29  丿Toy  阅读(339)  评论(2编辑  收藏  举报