这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11493 |
我在这个课程的目标是 | 理解对函数的定义和调用 |
这个作业在哪个具体方面帮助我实现目标 | PTA实践作业的函数题 |
参考文献 | C语言程序设计(第三版) |
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,用来定义半径和高,v用来求体积,都为双精度浮点型
数据处理:伪代码如下:
全局变量,使用宏定义#define PI 3.14159,自定义函数double volume_tc(double r_lower, double r_upper, double h),定义函数名为圆的体
积,在主函数中输入变量r_lower,r_upper,h,最后直接输出体积。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
10 30 5 | 6806.78 | r_lower<r_upper |
30 10 5 | 6806.78 | r_lower>r_upper |
1 1 2 | 6.28 | r_lower=r_upper |
1.1.4 PTA提交列表及说明
1.编译错误:define为宏定义,在函数的调用中就不用重新定义,并且PI代表的就是一个数,double后不能直接接数字。
2.答案错误:1/3,1和3都是整型,所以1/3只会保留整数位的0,导致答案错误,可以在最后/3,或者1.0/3.
1.2求组合数
题目内容描述:算出从n个不同元素中取出m个元素(m≤n)的组合数,建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.2.1数据处理
数据表达:变量m,n用来定义输入的两个整数,为整型。变量result,product,用来表示组合数结果,用于保存乘积,都为双精度浮点型,i为循环变量,为整型。
数据处理:伪代码如下:
自定义函数double fact(int n);定义函数用于求n的阶乘,返回主函数,输入m,n的值,通过result=fact(n)/(fact(m)*fact(n-m))求出组合数的值,最后直接输出答案。
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 7 | result = 21 | m<n |
7 2 | result = 0 | m>n |
7 7 | result = 1 | m=n |
1.1.4 PTA提交列表及说明
1.部分错误:编码result=fact(n)/(fact(m)*fact(n-m))时,分母需要打括号。
2.编译错误:主函数不需要循环,不用for语句。
2.代码互评
同学代码截图
自己代码截图
1.同学运用的是三目运算符,自己运用的是if语句。
2.同学自定义了一个int max(int a,int b)函数,用来比较整数大小,自己借助第三个变量来比较两个整数的大小。
3.学习总结
3.1 学习进度条
周/星期 | 这周所发的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10.19-10.25 | 九个小时 | 61 | 基础C语言知识输入输出函数 | 无 |
10.26-11.1 | 十个小时 | 102 | if-else语句 | 变量太多写的时候有点混乱 |
11.2-11.8 | 十个小时 | 170 | for循环语句 | 对语句的运用不是很灵活,想不清用哪种语句 |
11.09-11.13 | 十个小时 | 212 | 学习对函数的定义和调用 | 不熟练,不清晰,对题目的分析不明确 |
3.2 累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第八周 | 620 | 61 |
第九周 | 700 | 102 |
第十周 | 1080 | 170 |
第十一周 | 1102 | 181 |
3.3 学习内容总结和感悟
首先学习了基本数据类型:整型和浮点型,利用它定义变量。接着学习了表达式和运算符,了解了优先级以及运算的方向问题,然后学习了顺序,选择,循环结构,利用这些结构写代码,练习熟练它们,最近学习了函数的定义和调用。感悟就是时间被安排的非常的充实,通过写博客园的作业认识到了自己哪里还存在不足,哪里还没有掌握,在这期间学会了使用app做图标,对电脑的操纵也熟练了起来。
3.3.1 学习内容总结
3.3.2 学习体会
博客园的作业虽然很繁琐,但是完成之后如释重负,整个人都会轻松很多,这一周又学习了新的知识,对之前学的语句有了更加清楚的了解,但是也通过作业发现自己和优秀的人的差距很大,希望在下一周的学习生活中能更加努力,缩小差距,多加练习,勤加巩固,对新的知识能接受更快,并且也深刻感受到C语言这门学科的不容易,要加油啊。