C语言I博客作业04
C语言程序设计 | 2020计算机3班 |
作业要求 | 作业要求 |
课程目标 | 将定义和调用函数熟练运用 |
作业帮助实现目标的具体方面 | 多次使用不熟练的定义与调用过程,强化记忆从而达到目标 |
参考文献 | C语言程序设计 |
学号 | 20209003 |
1.PTA实验作业
从PTA题目集中选出2个你最满意的题目完成.
1.1 使用函数求圆台体积
本题要求实现函数求圆台体积,定义并调用函数volume_tc(r_lower, r_upper, h)计算下底半径为r_lower、上底半径为r_upper、高度为h的圆台的体积,函数类型是double。
-
1.1.1 实验代码截图
-
1.1.2 数据处理
数据表达:
变量及其类型:
浮点型变量:product,r_lower,r_upper,h。
变量由来:通过题目已知定义。
数据处理:
表达式:product=(r_lower*r_lower+r_upper*r_upper+r_upper*r_lower)*3.14159*h/3。
流程结构:无。
函数参数:
主调函数:整型 int main(){}
被调函数及其类型:浮点型 double volume_tc(){}
实参及其类型:浮点型 double h,v,r_lower,r_upper。
形参及其类型:浮点型 double h,r_upper,r_lower,product。
-
1.1.3 造测试数据
输入数据 r_lower \ r_upper\ h | 输出数据 v | 说明 |
---|---|---|
10 \ 30 \ 5 | 6806.78 | r_upper > r_lower |
30 \ 10 \ 5 | 6806.78 | r_upper < r_lower |
30 \ 30 \ 5 | 14137.15 | r_upper = r_lower |
-
1.1.4 PTA提交列表及说明
1.编译错误:将裁判测试程序样例一并写入了。
2.部分正确:计算公式书写错误。
1.2 求组合数
本题要求编写程序,根据公式
算出从n个不同元素中取出m个元素(m≤n)的组合数。
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),以空格分隔。
输出格式:
按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。
-
1.2.1 实验代码截图
- 法一
- 法二
-
1.2.2 数据处理
数据表达:
变量及其类型:
浮点型变量:product,result。
整型变量:i,m,n。
变量由来:通过题目已知定义。
数据处理:
表达式:product=1,i=1,i<=n,i++,product=product*i,result=fact(n)/(fact(m)*fact(n-m))
流程结构:循环结构。
函数参数:
主调函数:整型 int main(){}
被调函数及其类型:浮点型 double(){}
实参及其类型:整型 int m,n。浮点型 double result。
形参及其类型:整型 int i。浮点型 double product。
-
1.2.3 造测试数据
输入数据 m \ n | 输出数据 | 说明 |
---|---|---|
2 \ 7 | 21 | m < n |
7 \ 7 | 1 | m = n |
-
1.2.4 PTA提交列表及说明
1.编译错误:第一次出现的double fact(int n)后没有加分号。
2.代码互评
-
同学代码截图
- 使用函数求圆台体积
- 求幂之和
- 使用函数求圆台体积
-
自己代码截图
- 使用函数求圆台体积
- 求幂之和
- 使用函数求圆台体积
-
不同之处
- 1.对方在“使用函数求圆台体积”此题中,定义了浮点型pi=3.14159,增强了可读性。
- 2.对方在“求幂之和”此题中,使用了#include<math.h>,但我觉得可以不用写scanf("%d",&n)。
3.学习总结
3.1学习进度条
周\日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
6\11.8-11.14 | 约6小时 | 约95行 | 生成乘方表与阶乘表 | 不理解函数的定义和调用如果将主函数放在前面,第一次出现的double fact(int n)后要加分号 |
5\11.1-11.7 | 约8小时 | 约140行 | for语句 | 输出%d与%6.1lf之间不能有空格的原因 |
4\10.18-10.24 | 约6小时 | 约105行 | if-else语句 | 不能理解求个位数用n%10,十位数n/10%10等 |
3.2累积代码行和累积博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
3.3.2学习体会
- 体会:这周的学习状态比上周的好很多,提前预习后的感觉很好,但是对于函数的定义与调用掌握还不是太完全。还需要继续模拟,达到熟练的程度。
- 疑惑:在PTA作业中,没有用#include<math.h>就使用了pow(),但是结果是答案正确。#include<math.h>