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上面的题目,才是最高效的预习。