C语言I博客作业04
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9768 |
我在这个课程的目标是 | 熟练掌握for循环语句,进一步掌握使用C语言 |
这个作业在那个具体方面帮助我实现目标 | 在PTA上做练习刷题可以让我更加熟练使用C语言 |
参考文献 | 百度、《C Primer Plus》第六版 |
1.PTA实验作业
1.1求平方与倒数序列的部分和
1.1.1数据处理
数据表达:提出整形变量m、n、i,双精度浮点型变量sum用来计算储存结果。
数据处理:使用了for循环语句,流程结构是先定义,然后判断i与n的关系,然后就进行循环。当不满足循环条件时,就直接跳出循环,输出结果
1.1.2实验代码截图
1.1.3造测试数
输入数据 | 输出数据 | 说明 |
---|---|---|
5 10 | 355.845635 | 例题上的数据 |
1 1000 | 333833507.485471 | 使用较小数据和较大数据计算 |
4 6 | 77.616667 | 使用两个较小数据计算 |
500 600 | 30638350.184155 | 使用两个较大数据计算 |
1.1.4PTA提交列表及说明
1.运行超时:第一次碰到这种情况,问了学长学姐,说可能是遇到死循环了,然后把循环那一部分重新弄了一遍。
2.运行超时:重新弄了一遍,还是显示运行超时,但我忘记是哪个部分出问题了.
3.答案正确:把错误修改后,就正确了。(老师我真的忘记那个错误地方是哪里了,我下次会做好笔记的)
1.2求交错序列前N项和
1.2.1数据处理
数据表达:使用整形变量n、i、flag、denorminator,作为输入数据,使用了双精度浮点变量sum、item、c用来储存数据。
数据处理:还是需要使用for循环语句。先要判断i与n的关系,然后算d,然后正负号来回累积相加。
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 0.917 | 例题上的数据 |
10 | 0.380 | 使用较小的数据 |
1000 | 0.393 | 使用较大的数据 |
1.2.4PTA提交列表及说明
1.编译错误:忘记打“return 0;”了
2.编译错误:有一行忘记打分号了
3.答案错误:忘记打flag=-flag
4-5.编译错误:在for后面加了等号,改了两次才发现问题
6-9答案错误:一直显示答案错误,一直改,但总是错,问了同学才知道,我中间的变量什么的都少了,还要再加一些新的变量来完成,我加了几个语句,增加denorminator,c的变量,当时在编程时没有想到这方面,因为我照着书上的例题打的,没有灵活变通,就导致了这样的结果,加了这样denorminator,c两个变量,代码就对了,而且也更加清楚。
10答案错误:denorminator=denorminator+2写成+1了,所以显示答案错误
11答案正确:改完后,答案就正确了
2.代码互评
2.1同学代码截图(计科1班李泽基同学)
2.2自己代码截图
2.3比较结果
1.我们采用的方法不太一样,他运用了数学的函数,我是采用的书上的方法
2.从代码行数上来看,很明显,他的比我更简洁,也更简单,所以这方面我还需要学习
2.4同学代码截图(计科1班周世康同学)
2.5自己代码截图
2.6比较结果
1.我们所用的方法不一样,它定义的变量更多,出现了sum1,sum2等,而我的变量没有那么多。
2.从代码行数看的出,我的更简单,代码行数也短一些,但是我觉得他也很优秀,他用了和书上不太一样的方法,这方面我要学习
3.学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周(9.19-3.27) | 6天 | 26行 | Hello world编程和Markdown语法 | 现在没有疑惑 |
第二周(9.25-10.4) | 4天 | 45行 | 华氏度与摄氏度的转换 | 对于变量的类型还不是很懂 |
第三周(10.8-10.11) | 3天 | 大约100行左右 | 计算分段函数和学习if-else语句 | 对于if-else语句还是不那么熟练 |
第四周(10.15-10.17) | 3天 | 大约75行左右 | for循环语句和指定次数的循环程序设计 | 关于指定次数的循环程序设计还不是很清楚 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
for语句被称为循环语句。for后面的圆括号中有3个表达式,分别用两个分号隔开。第一个表达式是初始化,只会在for循环开始时执行一次。第二个表达式是测试条件,在执行循环之前对表达式求值。如果表达式为假,循环结束。第三个表达式执行更新,在每次循环结束时求值。它的形式是for(initialize;test;update)换行 statement (在test为假或0之前之前,重复执行statement部分)
3.3.2学习体会
这次学习了for循环语句,在做作业时简单的题目做的比较快,稍微难点的就做的比较慢,可能是才刚学习,还不是那么熟练,我相信我加强练习,会慢慢熟练的。学习这门课程也一个多月了,还是有蛮多收获的。老师在课堂上讲的东西非常有限,深度的东西要靠我们自己去挖掘和学习,遇到问题能通过自己的努力去解决是最好的,这样印象也会更深刻。如果有时间,自己可以往前面走,提前预习,这样对于学习肯定是有好处的。相信自己能做的更好,加油!