C语言I博客作业04
一、本周教学内容&目标##
第2章 用C语言编写程序-循环结构 2.4 输出华氏-摄氏温度转换表。要求学生掌握使用for循环语句实现指定次数的循环程序设计。
二、本周作业头##
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9768 |
我在这个课程的目标是 | 以C为基础,进一步学习java与C++ |
这个作业在那个具体方面帮助我实现目标 | 练习markdown语法以及自主寻找资料的能力 |
参考文献 | 集美大学林丽老师作业参考 百度 |
三、本周作业##
1. PTA作业###
1.1 本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。.
1.1.1 数据处理
-数据表达:提出整形变量n,m分别存储分子分母的值,i进行循环使分数相加,flag进行正负变号,N为输入的多少项;双精度浮点型sum用于存储结果,并输出;
-数据处理:应用for循环控制进行运算的次数,进行运算的结果存储再sum中,for循环中sum存储之后分子进行加1,分母进行加2,然后再改变下一项的正负,以此进行循环来计算存储结果,最后得出正确答案;
1.1.2 实验代码截图
输入格式:####
输入在一行中给出一个正整数N。
输出格式:####
在一行中输出部分和的值,结果保留三位小数。
输入样例:####
5
输入样例:####
0.917
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
9 | 0.907 | 无临界值 |
0 | 0.000 | 非正整数 |
-5 | 0.000 | 负数 |
1.1.4 PTA提交列表及说明 | ||
Q1:答案正确,是否出现过问题?
A1:没有,因为通过前几题慢慢过渡,这题未出现错误,直接正确;
1.2 本题要求对两个正整数m和n(m≤n)编写程序,计算序列和mm+1/m+(m+1)(m+1)+1/(m+1)+...+n*n+1/n
.
1.2.1 数据处理
-数据表达:提出整形变量m,n用与输入所需的条件,参与循环与计算,i用于进行for循环,使计算的次数有限制;使用的双精度浮点型变量sum用于存储计算结果,并输出;
-数据处理:仍使用for循环控制重复次数,以sum来存储结果,并为下一次运算做准备,其中的pow来计算m+i的平方,然后与上一次的sum何1.0/m+i相加后赋值给sum,时sum多次变化,直到for循环终止,得出正确的答案sum;
1.2.2 实验代码截图
输入格式:####
输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:####
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例:####
5 10
输入样例:####
sum = 355.845635
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
3 7 | 136.092857 | m>n |
5 5 | 25.200000 | 相等临界 |
7 5 | 0.000000 | n>m |
1.2.4 PTA提交列表及说明 | ||
Q1:答案正确,在这之前是否出现过错误?
A1:出现过答案错误,当遇到答案错误,我对输出进行了检查,最后未发现哪里出现错误,最后寻求了室友的正确代码,进行对比,发现代码处理部分几乎一样,最后在输入中发现了错误,m,n的位置与题给位置不符,导致无法输出正确答案,改正了m,n的位置之后代码正确;
2. 代码互评###
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大.
同学代码截图:
自己代码截图:
与第一份代码的比较:第一份同学的代码时直接时i=m,让i递加到n来解答问题,他的 i = 我的 m + i ;其他区别不大,都是应用for循环来完成,但是关于他的“ i+= ”我不明白,等会回去百度;
与第二份作业的比较:第二位同学将问题分成了两部分,提出较多的变量,分别对问题进行计算然后再将他们相加,这是一种方法,因为以后遇到的题目可能本身计算就是很复杂的,但是可以通过这种方式,减轻一起写的错误率;
3. 学习总结###
3.1 学习进度条.
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第七周 | 9小时 | 513 | 定义函数 | return的返回位置 |
第八周 | 12小时 | 467 | 局部变量与全局变量 | 暂无 |
3.2 累积代码行和博客字数. |
3.3 学习内容总结和感悟.
3.3.1 学习内容总结
总结:if-else,for循环的使用,使用时要注意表达式及后面的一个语句,如果需要多个语句在for中循环,应加上大括号变为复合语句;要注意防止if-else与for后面不可加上“ ; ”,单独的“ ; ”的会变为空语句且不会报错,也无法时后续语句进行相应的逻辑运行或循环;if-else也可以在if或else后再嵌入另一个if-else语句,进行多分支的运行,满足多种条件的需要;
3.3.2 学习体会
体会:本周进行了函数的学习,了解了如何定义与应用,又在一些外部环境中获取一些知识,例如:b站,博客园中老学长的博客(dxkite);在现在的学习中对于新知识还是很向往的,现在好想学习新的语言;但是由于自己在作业1中有定下目标,暂时仍需进行c的学习,但是最近的时间显得有些仓促,关于学习函数都已经好长时间,才弄完函数,不是因为困难,而是因为很缺时间下来学习,感觉c的进度极其缓慢,也有其他学科要进行学习的压力,接下来要进行规划时间以加快c的学习,对于新的方式进行编程,想的自己非常激动,现在对于学科的学习仍感到快乐,至少不讨厌(有点烦线代,但是又不能不学);