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>
posted @ 2020-11-13 17:52  藐致  阅读(664)  评论(7编辑  收藏  举报