C语言I博客作业04
| 这个作业属于那个课程 | C语言程序设计II |
| ---- | ---- | ---- |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11500 |
| 我在这个课程的目标是 | 熟悉并掌握C语言,让我在编程的路上走得更远 |
| 这个作业在那个具体方面帮助我实现目标 |让我检测新学的知识是否掌握,并还有哪些不足 |
| 参考文献 | C语言程序设计、C Primer Plus 第六版 |
1.PTA实验作业。
1.1 使用函数求圆台体积。
本题要求实现函数求圆台体积,定义并调用函数volume_tc(r_lower, r_upper, h)计算下底半径为r_lower、上底半径为r_upper、高度为h的圆台的体积,函数类型是double。
1.1.1数据处理。
数据表达 | 用了double h, r_lower, r_upper:这些变量的值是用户输入的;v,product:这些变量的值是通过用户输入值之后计算机通过算法的得到的值。这些变量统一都是浮点型 |
---|---|
数据处理 | 表达式:product = (PI* h * (r_lower * r_lower + r_upper * r_upper + r_lower * r_upper))/3; v = volume_tc(r_lower, r_upper, h) ;流程结构:顺序结构 |
函数参数 | 主调函数: int main(void){};被调函数: double volume_tc(double r_lower, double r_upper, double h){};被调函数的类型:浮点型;实参:double r_lower, double r_upper, double h;形参:double product; 实参与形参在这一题中全为浮点型。 |
1.1.2实验代码截图
1.1.3 造测试数据。
输入数据 | 输出数据 | 说明 |
---|---|---|
12 45 6 | 17021.13 | 输入数据分别为:圆台上底半径 圆台下底半径 圆台高 ;输出数据为圆台的体积 |
15 55 8 | 34138.61 | 输入数据分别为:圆台上底半径 圆台下底半径 圆台高 ;输出数据为圆台的体积 |
22 66 8 | 52711.69 | 输入数据分别为:圆台上底半径 圆台下底半径 圆台高 ;输出数据为圆台的体积 |
20 60 10 | 54454.23 | 输入数据分别为:圆台上底半径 圆台下底半径 圆台高 ;输出数据为圆台的体积 |
1.1.4 PTA提交列表及说明
- 编译错误:在Visual Studio 2019里面运行没有错误,在pta里面就是编译错误,。最后还是同学跟我说只要把定义函数那部分输入就行。
1.2 题目 求组合数
本题要求编写程序,根据公式C=n!/(m!(n−m)!)算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.2.1 数据处理
数据表达 | 用了int i, n, m;double result, product; 其中n,m是用户输入值,i,product先给了它一个初始值,后面通过算法又赋给了它一些新的值;result是直接通过算法给它赋的值;i,n,m是整型变量;result,product是浮点型变量。 |
---|---|
数据处理 | 表达式:result = fact(n) / (fact(m) * fact(n - m)); product = product * i;流程结构:循环结构 顺序结构 |
函数参数 | 主调函数:int main(void){};被调函数:double fact(int i); 被调函数的类型:浮点型;实参:整型i, n, m,浮点型product; 形参:浮点型result; |
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
3 7 | result = 35 | 输入的数据分别为:n m的值,输出的数据为 :组合数的结果 |
5 8 | result = 56 | 输入的数据分别为:n m的值,输出的数据为 :组合数的结果 |
4 9 | result = 126 | 输入的数据分别为:n m的值,输出的数据为 :组合数的结果 |
3 9 | result =84 | 输入的数据分别为:n m的值,输出的数据为 :组合数的结果 |
1.2.4 PTA提交列表及说明
- 格式错误:最后输出结果没有注意空格。
- 答案错误:没有将分母整体用括号括起来。
2.代码互评
2.1郑九龙同学的代码截图
自己的代码截图
- 1.郑九龙写的代码用了if-else语句限制了n的取值范围,而我的没有。
- 2.郑九龙的代码更加符合题意,我写的就不完全符合题意没有限制n的取值范围。
- 3.从他的代码里学到了用if-else语句去给输入值制定一个范围。
2.2张宸郗同学的代码截图
自己的代码截图
- 1.在if-else语句里面我们两个人的表达式不同,我是定义了一个值然后将结果赋值给它最后在输出,而张宸郗的是直接把结果输出出来了,他这种就很简单直接。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第三周 | 16小时 | 150 | for循环语句、pow函数、sqrt函数 | 对于对格式和表达不怎么清楚 |
第四周 | 20小时 | 160 | 定义函数 | 对于所学的东西掌握并不是很好 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
- 1.每次上完课就感觉自己听懂了,一写作业就没有什么思路。对于这种状态课后应该多去复习。
- 2.看了同学们写的题感觉自己的思维很死板,应该开阔自己的思维,对于每一个题目应该采取多种不同的写法。
- 3.对于C语言还应该更加重视,并且多去看看同学写的博客园,学习学习他们的骚操作。