C语言I博客作业03
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11449 |
这个作业的目标 | <让我们去学习如何思考错误,并且学会学习别人的优点,还让我们进行一次系统的总结> |
学号 | <20209130> |
1.PTA实验作业(15分/题)
1.1 7-2 求分数序列前N项和
内容描述:计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子,精确到小数点后两位。题目保证计算结果不超过双精度范围。
1.1.1实验代码截图:
1.1.2数据处理
1.数据表达:输入了上限N,分母i,分子j,结果sum,循环变量k,替代变量x,整型有N,k,用int定义,双精度浮点型有i,j,sum,x,用double定义。
2.数据处理:sum+=j/i; double x=i; i=j; j=j+x;
1.1.3 PTA提交列表及说明
- Q1:for循环中数据处理有顺序,先进行处理的数据的值会变换,导致后面处理的数据的值不对,弄了好久。
- A1:经过室友提醒用一个变量替换一下,再后面就用替换的变量,然后终于解决。
1.2 7-4 求平方根序列前N项和
内容描述:计算平方根序列√1+√2+√3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根,精确到小数点后两位。题目保证计算结果不超过双精度范围。
1.2.1实验代码截图:
1.2.2数据处理
1.数据表达:输入了循环变量i,上限N,结果sum,整型有i,N,用int定义,双精度浮点型有sum,用double定义。
2.数据处理:sum=sum+sqrt(i);
1.2.3PTA提交列表及说明
- Q1:要求保留两位小数,但我一开始没注意,以为用了%f符号就可以了,导致一直答案错误。
- A1:之后自己在vc里编出来,终于发现只用%f符号是保留六位小数,要用%.2f符号才行。
1.3 7-1 求简单交错序列前N项和
内容描述:计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和,精确到小数点后三位。题目保证计算结果不超过双精度范围。
1.3.1实验代码截图:
1.3.2数据处理
1.数据表达:输入了循环变量i和a,上限N,结果sum和S,整型有i,N,a,用int定义,双精度浮点型有sum,S,用double定义。
2.数据处理: S=1.0/(3i-2)a; sum+=S; a = -a;
1.3.3PTA提交列表及说明
- Q1:在一开始,数据处理中的 S=1.0/(3i-2)a,写成 S=1/(3i-2)a,即只是写1没写1.0,导致形成部分错误,并且一开始百思不得其解。
- A1:经过提醒,我知道了由双精度浮点型double定义的变量在数据处理时要写出一位小数。
2.阅读代码
- 1.这个代码是判断输入的n值是否为素数的代码。
- 2.我觉得这个代码很优秀的一点就在它在for循环语句中嵌套了一个if-else语句。
- 3.这题和书上的计算华氏温度与摄氏温度转化的题有相似之处,但又有不同,是一个变式代码,很适合我们这些刚学for循环的新手学习。
3.学习总结
3.1 学习进度条:
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 20h | 400 | 什么是主函数;代码的储存单元;会打“hello world” | 无 |
第九周 | 24h | 450 | 三个程序结构;各种数据类型;if-else语句的使用 | 无 |
第十周 | 28h | 500 | 三个运算的优先级;for循环语句的使用;会输出转换表 | for循环的嵌套有些不会 |
3.2 累积代码行和博客字数:
3.3 学习感悟
1.要多去打代码,这样才能熟能生巧,才会避免有些像单词打错的错误。
2.要学会思考,不只是去模仿代码,虽然说新手应该模仿,但也绝对不可没有任何思考。
3.还要提升自己的自学能力,要多去主动的自己学,比如去MOOC里听老师推荐的c语言课,反正要主动出击!
4.还要学会分析错误,并总结错误,之有这样我们才能成长,才会让我们的错误越来越少。
5.还要多去观摩别人的优秀代码,去学习他的优点,让自己越来越好,
6.完成好课堂里的任务后不要就万事大吉了,我们还要去努力预习,让自己接下来的学习轻松些。