C语言I博客作业04

| 这个作业属于哪个课程 | C语言程序设计II |
| ---- | ---- | ---- |
| 这个作业要求在哪里 | 作业要求 |
| 我在这个课程的目标是 | 对函数的定义和调用有初步的认识,能模仿编程 |
| 这个作业在那个具体方面帮助我实现目标 | PTA练习,有同学作业之间的比较, 自我总结 |
| 参考文献 | 《C语言程序设计》《C语言实验与设计》 |
| 学号 | 20209035 |

1.PTA实验作业

1.1 使用函数求圆台体积
这是一道看起来很吓人的题,乍一看没看明白,可事实就是一个用电脑写的数学题,要求实现函数求圆台体积,定义并调用函数volume_tc(r_lower, r_upper, h)计算下底半径为r_lower、上底半径为r_upper、高度为h的圆台的体积,函数类型是double。
1.1.1 数据处理
数据表达:变量有r_lower,r_upper,h;通过scanf语句赋值得到;类型(double)。
数据处理:用到的表达式(v = PI * (r_upper * r_upper + r_lower * r_lower+ r_lower * r_upper) * h / 3),流程结构(先指定主函数再自己定义一个函数来计算最终结果)
函数参数:主函数为自定义函数,调用了自己定义的求体积的函数,为浮点型,无形参实参有r_lower,r_upper,h。
1.1.2 实验代码截图
代码截图
1.1.3 造测试数据

输入数据 输出数据 说明
30 10 5 v=6806.78 r_lower>r_upper>h
25 10 20 v= 20420.34 r_lower>h>r_upper
15 8 20 v= 8566.07 h > r_lower>r_upper
6 12 18 v= 4750.08 h>r_upper> r_lower
1.2.4 PTA提交列表及说明
提交列表
提交列表说明
1、编译错误:定义函数时第一行多了个分号,去掉就好
2、编译错误:PI打成3.1415,原认为π打不出就用数字代替,后发现前面给出了PI
3、编译错误:一个简单的题目却让我犯了好多细节的错误,这次是将return后习惯打出0,实际返回值为v还有一次编译错误纯属手贱多点了一下提交
1.2 求组合数
这题题要求编写程序,根据公式算出从n个不同元素中取出m个元素(m≤n)的组合数,上课讲过一样的练习。
1.2.1 数据处理
数据表达:用到了m,n两个通过scanf语法赋值得到的变量都为int型,另外的sum变量由m,n计算得来为double型
数据处理:用到的表达式(i=1; i<=n; i++,result = fact(n)/(fact(m)*fact(n-m))流程结构利用循环结构
函数参数:主调函数为main型,被调函数为fact(double n),双精度浮点型,实参为m,n,sum,形参为i。
1.2.2 实验代码截图
实验代码
1.2.3 造测试数据
输入数据 输出数据 说明
---- ---- ----
11 13 result = 78 m,n>10
52 60 result = 2558620845 m,n>50
-1 -5 result = 1 m,n<0
1.2.4 PTA提交列表及说明
提交列表
提交列表说明
1、编译错误:多定义了一次result导致重复,删除result,用sum取代
2、编译错误:printf输出时,未将取代的result改为sum,找不到变量

2. 代码互评(求幂之和 )
2.1 同学代码
同学代码
我的代码
我的代码

差异:
1.同学的代码将n定义为整型,我将n统一用double定义,他的更细节、
2.我的代码少定义了一个reslut,直接在printf输出时用sum取代,简化了步骤
3.总体排版来看,我的代码更简洁,但是麻雀虽小,五脏俱全,我个人认为这一局我稍强一点的

2.2 代码互评(求简单交错序列前N项和)
同学代码

我的代码
差异:
1.同学代码用x代表了分母,而我用了denominator,他的更简单,可我的更加明显易懂
2.我的代码在这一题计算的时候用到的是题目提到的规律,而这个同学是自己找到的规律,较之我的更加复杂
3.这位同学的代码中使用到了<math.h>数学函数和pow函数看起来函数的难度更高级

3. 学习总结
3.1 学习进度条

这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 10小时 79行 Helle World!代码,基本printf()语法的使用
第二周 20~30小时 400多行 常量 变量 以及数据类型以及不同情况下的使用 大部分时间都在完成PTA上的测试,对PTA的使用上还存在缺陷
第三周 30~40小时(多用于完成博客园作业) 600行左右 if-else语法的使用,数学函数的表达 对于概念性回答有不足,代码可能会敲但是可能不能清晰描述每一行的含义
第四周 35小时以上 800行左右 循环语句,调用定义函数 对于调用函数不是很熟练

3.2 累积代码行和博客字数
累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
思维导图
3.3.2 学习体会
(1)这一周学习了很多东西,相对于之前几周来说让人觉得更有感觉,学的都是能够动手操作的东西,有了更多实践的体会,让人感受到了这门课程散发出来的魅力,就是那种你觉得很难可是愿意迎难而上的感觉,你可能会因为失败而感觉心烦,可能会因为花费的时间长而想放弃,但是当你真正认真开始做的时候你会忘掉时间,到最后只是觉得那种胜利的充实感,这或许就是这门课的奥义。
(2)这一周随学到的东西增多,代码也敲的多很多,在实践中细节上的错误在减少,速度也在变快,上周总结了自己不足的地方,也在这周的学习中得到了巩固。
(3)对于课堂和老师我一直都觉得很满足,老师上课也能把每个细节都讲到,也会为我们留时间来练习,对此深表感谢。

原文地址:https://www.cnblogs.com/ts1551498511/p/13966047.html