| -问题- | -答案- |
|---|---|
| 这个作业属于那个课程 | c语言程序设计I |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8717 |
| 我在这个课程的目标是 | 掌握多种语言编程 |
| 这个作业在哪个方面帮我具体实现目标 | 掌握关系运算,if-else语句,格式化输入语句scanf()等。 |
| 参考文献 | 《c语言程序设计》 |
因为pta作业时间过后我无法再看到自己的提交,所以用作业之外的提前预习的三个题目进行的分析。
1.PTA实验作业(15分/题)
1.1 求N分之一序列前N项和
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
1.1.1实验代码截图

1.1.2数据处理
答:(1)首先定变量,给变量赋值,
(2)给定公式,进行条件控制未达到循环上限前继续循环
(3)到达循环上限后进行输出。
1.1.3 PTA提交列表及说明

答:(1)开始按照题目的意思理解,且对照书一步步理解,但这个公式我不清楚,只能写出大概。
(2)一遍遍的修改格式和公式,且询问室友我的问题。
(3)在自己的理解和室友的解惑下改正了问题,完成了该题目。
1.2求简单交错序列前N项和
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
1.2.1

1.2.2数据处理
答:公式(i=1;i<=3n-2;i=i+3){s=s+pow((-1),i+1)1.0/i;}
(1)首先定变量如int n,i=1 double s=0,且给变量赋值,
(2)给定公式(如上),进行条件控制未达到循环上限前继续循环
(3)到达循环上限后进行输出。
1.2.3 PTA提交列表及说明

(1)经过多个问题的解决大概掌握了求前n项和的步骤,但各个题目的公式且变量有区别所以还是多次出错
(2)认真分析了题目的要求,推断公式
(3)经过每次检查多次后再是着上传发现正确率大大提高。
1.3生成3的乘方表
输入一个非负整数n,生成一张3的乘方表,输出3
0
~3
n
的值。可调用幂函数计算3的乘方。
1.3.1

1.3.2数据处理
答:公式(i=1;i<=n;i++){result*=3; printf("\npow(3,%d) = %d",i,result);}
(1)首先定变量如long n,result=1,i=0,且给变量赋值,
(2)给定公式(如上),进行条件控制,使其按照输入的n按公式计算
(3)按输入的n计算后表达输出
1.3.3PTA提交列表及说明

(1)每个题目看似简单其实问题和细节都很多,本以为看了书,书上很详细的讲述了后就可以掌握却忽略了很多细节
(2)检查错误是个痛苦的事,我忽略了变量的不停还是用的int结果一直错
(3)检查完成,一步步试不同还是可以很好解决问题的。
2.阅读代码
两数之和
。,
该题目中用c完成的非常少,看评论了解其用了静态分配延长了其生命周期如果不用静态分配函数执行完就系统自动回收分配的内存,所以在解决问题时要多想,用多种方法进行试验从而解决问题,但是也要思考,如果不用静态变量的话,有什么方法可以让这个数组的生命周期是全局的呢?在解决问题时也要提出问题这样才能完成学习,我相信可以在接下来的学习中学更多更好的解决方法。
3.学习总结
3.1学习进度条
| -周/日期- | -这周所花的时间- | -代码行- | -学到的知识点简介- | -目前比较迷惑的问题 |
|---|---|---|---|---|
| ~9/3~15 | 7小时 | 164 | 循环语句利用,else,if的用法 | 各种情况下变量的不同 |
3.2累积代码行和博客字数
3.3学习感悟
果然老师说得不错这门课的作业是最多的,但是我也知道这样才是最有效果的,老师是在对我们负责,所以我也会对自己负责,本周我们学习了else,if的用法且我还掌握了一些循环语句的利用,所以收获是非常大的,自己完成作业时是非常的着急,错误是太平常的事了,必须要细致有条理才能好好的完成题目,希望自己可以学到更多的东西,天天向上。