作业04
1.作业头
这个作业属于哪个课程 | c语言程序设计 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11491 |
这个作业在那个具体方面帮助我实现目标. | pta作业 |
参考文献 | 《C语言程序与设计》,哔哩哔哩,百度 |
这个作业的目标 | 学会使用其他的函数和学习制作思维图,拓宽自己的知识层面 |
学号 | 20209063 |
1.PTA实验作业(20分/题)
1.1 求组合数
本题要求编写程序,根据公式C=m!/(n−m)!n!算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.1.1数据处理)
数据表达:我用了s,m,n,result,定义s,m,n;用于计算。
数据处理:调用fact函数用于计算阶乘,在运用for进行循环计算。
函数参数:主函数是int main;调用函数:double fact(int n).
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
3,7 | 21 | m<n |
5,2 | 0 | m>n |
5,5 | 1 | m=n |
1.1.4 PTA提交列表及说明
说明
1.一开始一直以为要设置三个for循环和三个fact阶乘试来写这个题。
2.后面看书之后,还看了买的那本资料书,才发现只要设置一个fact,其他的用fact()去表示就可以循环计算出来。
1.2.1数据处理
数据处理:运用了数学函数<math.h>,用整型函数int定义n,i;用浮点型double定义result;最后用了pow去进行计算幂次方。
数据处理:调用pow计算幂;然后运用for循环。
函数参数:主函数:int main(),调用函数double pow;整型变量n,i;浮点型变量result.
1.2.2实验代码截图
1.2. 3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 62 | n<10 |
12 | 8190 | n>10 |
0 | 0 | n=0 |
1.1.4 PTA提交列表及说明
说明
之所以错误是因为自己又犯了以前的错误,没有在定义完变量之后用scanf去找到变量地址,后面补上后就直接正确。
同学代码截图
我的代码
比较
1.第一个同学他是用的三个for循环来计算出三个阶乘的值,最后用这三个值去计算出结果。
2.第二个同学是先调用了double fact(),然后用do,while结构去进行循环得到fact(),最后用主函数,进行for循环得到结果。
3.我自己的则是先把fact()阶乘定义并用算是得到需要的fact()然后转运到主函数中运用的for循环得到阶乘结果。
3.学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/12—10/18 | 27h | 100 | 刚刚入门c语言,学习到printf函数 | 不知道怎么去分行 |
10/24——11/1 | 25h | 150 | 学到了一些函数计算 | 不知道求和的本质意义 |
11/2——11/7 | 40h | 258 | 调试,for循环,sum求和 | for循环的实质方面,不能灵活应用 |
11/8 ——11/15 | 27h | 280 | 学到了阶乘和pow | 不理解应用fact()然后在调入到主函数中进行for循环得到答案的实质 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
学习内容
上面的分支图表上的内容大部分都学习了而且较熟悉,只有while这里会没有进行多的训练,姜老师上课讲的复习了一遍加深自己的印象和理解。
感悟
1.在学习c语言中最主要还是要靠自己去主动学习,光听老师讲是不行的,课后要自己多去练,多去动手写代码。
2.每次在写作业时和写课后代码时,总是会有一些关键点不知道,但看书之后就恍然大悟,所以,在写之前要提前i复习和预习课本内容,反复练习加深自己印象。
3.我们这个专业就是要靠时间去积累多去写才有进步,所以我要抓住空余时间多学习,不能用玩来消磨时间。