C语言I博客作业04

这个作业属于哪个课程 C语言程序设计]
这个作业的要求在哪里 <作业要求的链接>
我在这个课程的目标 <熟练掌握库函数的调用,了解函数的定义和调用>
这个作业在哪个方面帮助我实现目标 <使自己对函数更加了解,改进自己的不足>
参考文献 <C语言程序设计(第3版)>
学号 <20208922>

1.PTA实验作业(20分/题)

1.1使用函数求圆台体积

实现函数求圆台体积,定义并调用函数volume_tc(r_lower, r_upper, h)计算下底半径为r_lower、上底半径为r_upper、高度为h的圆台的体积,函数类型是double

1.1.1数据处理
数据表达:用了r_lower,r_upper,h,v。r_lower,r_upper,h这些变量,且都为双精度浮点类型。由题目要求,而v是由这些变量计算而来的。
数据处理。用v= PI*h*(r_lower*r_lower+r_upper*r_upper+r_upper*r_lower) / 3表达式计算圆柱体积,
         结构为顺序结构。
函数参数:主调函数名称是#include<math.h>,被调函数名称是double volume_tc()。主调函数和被调函数的类型都为double型,实参的名称有r_lower、r_ypper、h,为duoble型,形参是v,为duoble型。
1.1.2实验代码截图

1.1.3造测试数据
输入数据 输出数据 说明
10 30 5 v=6806.78 长、宽、高分别为10、30、5
10 5 5 v=916.30 长、宽、高分别为10、5、5
7 8 9 v=1592.49 长、宽、高分别为7、8、9
1.1.4PTA提交列表及说明

提交列表:

提交列表说明:
编译错误:在定义double v时;定义成了duoble r_lower,r_epper,v;导致重复定义编译错误。return v;也写成了return 0;

1.2 求组合数

(1).根据公式算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
(2).输入在一行中给出两个正整数m和n(m≤n),以空格分隔。
(3).按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。

1.2.1数据处理
数据表达:自定义函数fact(int n),同时定义m、n两个整型函数,sum双精度浮点函数,把sum定义成双精度浮点函数的用意是扩大他的取值范围,避免输出值超出范围影响结果。
数据处理:自定义fact(int n)函数,利用for循环for(int i=1;i<=n;i++){
        sum = sum*i;计算m、n阶乘的值,然后是函数返回到int main()函数中执行result = fact(n)/(fact(m)*fact(n-m)),最后输出结果。
实验参数:主调函数为int main(),被调函数为fact(int n),被调函数类型为double型,实参i、m、n为整形,形参sum、result为双进度浮点型。
1.2.2实验代码截图

1.1.3造测试数据
输入数据 输出数据 说明
2 7 21 m为2,n为7,满足m<n
3 8 56 m为3,n为8,满足m<n
9 6 0 m为9,n为6,不满足m<n,故输出无结果
1.1.4PTA提交列表及说明

提交列表:

提交列表说明:上节课老师又说怎么做这个编程,但由于听的不是很懂,便把老师最后说的话误以为需要用三个double fact(int n)分别计算m!、n!、n!-m!的值,然后再用int main函数根据公式计算组合数,但一直编程错误,我不知道是这个想法不可以还是我哪个地方编译错了。最后室友告诉了我这种方法,顿时明白了自定义函数是怎么用的,是什么意思。

2.代码互评(5分)

同学代码截图

(1)

(2)

我的代码截图

评价

(1):第一位同学方法是自定义了fact(int n)函数,这种方法有时解题确实会比较方便,但在这里却是显得有些复杂了,但是看了他的代码后,确实也让我学到了,学以致用,以后也可以多尝试这种方法。
(2):第二位同学的方法与我大同小异,她用的是双浮点精度变量,而我用的是整形变量。他那样的好处是减少输出值过大造成答案错误的可能性。
(3)我看了大多人的解决这个题的方法都如第二位同学一样,双浮点精度,for循环结构,第一位同学的解决方法基本没有,故虽然我们学到的就要用起来,但是有时做题要快且代码尽量简便,才能让人有看下去的心情。

3.学习总结(15分)

3.1学习进度条(5分)

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较疑惑的问题
第十一周 22小时 150 自定义函数 自定义函数的调用规则
第十周 24个小时 230 for循环结构,数学常用函数与数学函数的调用头文件的运用 调用不同函数不熟悉,不太清楚编译
第九周 22个小时 210 算数运算和赋值运算 对输出的不同形式不是很明白
第八周 20个小时 180 基础常用代码知识,整型变量,运算符的相关知识,markdown语法的运用 不同代码内存占用问题

3.2累积代码行和博客字数(5分)

时间 博客字数 代码行数
第八周 1072 100
第九周 1576 550
第十周 3143 1200
第十一周 4886 1600

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2

自己打代码的数度有了很大提升,但是自己直接思考解决问题的能力还是不够强,经常要翻书、问同学。而且有时候编译错误看不懂说的什么,不知道哪里错了,对编程的理解还不够深,但是这周学了自定义函数之后,感觉很多问题都可以通过自定义函数来解决。

posted @ 2020-11-15 08:02  不在--  阅读(286)  评论(3)    收藏  举报