C语言I博客作业04
1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11490 |
这个作业的目标 | 对自己所写的代码进行总结,了解自己写的代码和别人写的代码的区别,对自己前段时间的学习总结 |
学号 | 20209123 |
一、本周教学内容&目标
第2章 用C语言编写程序-函数 2.5 生成乘方表与阶乘表。使学生对函数的定义和调用有初步的认识,能模仿编程。
二、本周作业头
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11490 |
我在这个课程的目标是 | 对编程进行初步了解,能够自己独立的完成一些代码的编写 |
这个作业在那个具体方面帮助我实现目标 | PTA实验作业让我更好的去巩固学习到的知识,代码互评让我理解我的代码和同学代码的差别,学习总结让我更加了解我的学习状况 |
参考文献 | 无 |
三、本周作业
1.PTA实验作业
2.代码互评
3.学习总结
四、作业格式
1.PTA实验作业(20分/题)
从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:
1.1 题目名1:求组合数
题目内容描述:本题要求编写程序,根据公式Cnm=n!/m!(n−m)!算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.1.1数据处理
介绍实现本题过程中,你的数据表达、数据处理是怎么做的。注意:请务必按照以下方式书写。
数据表达:用了n,m,i,sum,result变量,这些变量的值:n,m是代表输入的正整数,从n,个不同的元素中取出m个元素,i是循环,
result是主函数的表达式输出结果的值,sum是调用函数输出结果的值。类型:i,n,m是整型(int型)。result,sum是双精度浮点型(double型)。
数据处理:表达式:result=fact(n)/(fact(m)*fact(n-m)),sum = sum*i流程结构:定义函数,顺序结构。调用函数中有循环结构。
**函数参数:主调函数:int mian(),被调函数:double fact(int n),被调函数的类型:双精度浮点型(double型),
实参名称:n,m,result,类型:n,m为int型,result为double型,形参名称i,sum,类型:i为int型,sum为double型。**
1.1.2实验代码截图
1.1.3 造测试数据
按照以下表格,输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明
输入数据 | 输出数据 | 说明 |
---|---|---|
0 0 | result=1 | 从0个不同的元素中取0个元素 |
1 1 | result=1 | 从1个不同的元素中取1个元素 |
3 5 | result=10 | 从5个不同的元素中取3个元素 |
5 3 | result=0 | 从3个不同的元素中取5个元素 |
-5 -3 | result=1 | 从-3个不同的元素中取-5个元素 |
1.1.4 PTA提交列表及说明
根据PTA提交列表,简要描述调试程序碰到的问题及解决办法。
提交列表说明:
请按照如下要求说明提交列表,注意必须写明每个错误点,你是怎么解决的。此项没写好,本题0分。
1.编译错误:定义函数double fact(int n)分号忘记打。
2.编译错误:在for循环语句后面习惯性的加上了分号。
3.答案错误:输出的答案不对。
4.答案错误:主函数定义的变量sum,调用函数定义的变量result,所以输出来的是sum=21
1.2题目名2: 使用函数求圆台体积
题目内容描述:本题要求实现函数求圆台体积,定义并调用函数volume_tc(r_lower, r_upper, h)计算下底半径为r_lower、上底半径为r_upper、高度为h的圆台的体积,函数类型是double。
1.2.1数据处理
介绍实现本题过程中,你的数据表达、数据处理是怎么做的。注意:请务必按照以下方式书写。
数据表达:用了 h, r_lower, r_upper, v,result变量,这些变量的值是:下底半径为r_lower、上底半径为r_upper、
高度为h的圆台的体积,v为主函数表达式输出的值,result为调用函数表达式输出的值。类型: h, r_lower, r_upper,
v,result都是双精度浮点型(double)型。
数据处理:表达式: result=PI*h*(r_lower*r_upper+r_upper*r_upper+r_lower*r_lower)/3.0,v = volume_tc(r_lower, r_upper, h)。
流程结构:顺序结构,调用函数。
**函数参数:请明确说明主调函数与被调函数的名称,被调函数的类型,实参名称 :h, r_lower, r_upper, v,类型: h, r_lower, r_upper, v均为double型。
形参名称:result,类型:result为double型。**
1.2.2实验代码截图
1.1.3 造测试数据
按照以下表格,输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明。
输入数据 | 输出数据 | 说明 |
---|---|---|
1 2 3 | 21.99 | 下底半径1,上底半径2,高3 |
3 2 1 | 19.90 | 下底半径3,上底半径2,高1 |
3 4 5 | 193.73 | 下底半径3,上底半径4,高5 |
4 3 5 | 193.73 | 下底半径4,上底半径3,高5 |
-1 -2 -3 | Invalid Value! | 长度不可能为负数 |
1.1.4 PTA提交列表及说明
根据PTA提交列表,简要描述调试程序碰到的问题及解决办法。
提交列表说明:
请按照如下要求说明提交列表,注意必须写明每个错误点,你是怎么解决的。此项没写好,本题0分
1.编译错误:最开始double volume_tc(double r_lower, double r_upper, double h)后面分号忘记打。
2.编译错误:我将裁判测试程序样例也打进去了,发现不管怎么样都有问题。然后请教同学,裁判测试程序样例不能打进去。
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图
自己代码截图
1.在调用函数中,同学只定义了一个整型变量,而我则定义了两个整型变量。
2.我的在最开始就用了输入scanf,而同学的则是先用了表达式。
3.定义的变量不同,同学定义的是a,b,c,n,m,而我定义的是a,b,result。
同学代码截图
3自己代码截图
1.同学代码比较简单,我的代码比较复杂。
2.同学代码只有一个简单的主函数,而我的代码有主函数和被调用函数。
3.同学代码只用了整型,而我的代码既是用了整型,也用了双精度浮点型。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/18-10/24 | 16小时 | 110行 | 打印holle world和其变形 | 无 |
10/25-10/31 | 10小时 | 320行 | 选择结构,求华摄温度 | 一些表达式的运用 |
11/1-11/7 | 15小时 | 450行 | 循环结构 | 流程结构的顺序 |
11/8-11/14 | 17小时 | 465行 | 函数的定义和调用,生成乘方表与阶乘表 | 怎么定义函数,完整代码的格式与顺序问题 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
请用思维导图的形式将到目前为止所学的内容进行整理。
采用专业的思维导图软件,建议可以是:MindManager、XMind、iMindMap、FreeMind、Mindomo、MindNode……等等之一。
3.3.2 学习体会
请回顾自己的本周的学习过程,描述学习感受,也可以提出你不理解的地方、对教师教学建议等。如果你有新的想法或者新的方法,请及时记录下来。
1.我学习到了更多的新内容与知识。例如:怎么样定义函数,和知道了怎么样生成乘方表与阶乘表。
2.在学习的过程中,我又产生了许许多多或大或小的毛病。例如:编译输出说我scanf没有价值,但是我又一老找不出我的问题出在哪里。
3.新学习了一些代码,有的代码我还是不怎么会写,尤其是我在调用函数的时候,还是有很多问题的。
4.知识,是慢慢的学会的,要有耐心的去对待每一个问题。
5.在自己不清楚的地方,自己一定要想办法去把他搞懂,不然,不懂的永远都不懂。
6.每一周我们都会学习一定量的知识,我们要学会慢慢的去掌握它,熟透它,不然的话,学习到的知识我们又会忘记。