C语言I博客作业04
作业头
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4 |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11496 |
| 这个作业的目标 | 学会自定义函数的使用,制作思维导图 |
| 这个作业在那个具体方面帮助我实现目标 | pta的严厉要求使我的代码更加完整,帮助我正确完成pta的习题集 |
| 参考文献 | B站 百度《C语言程序与设计》 |
| 学号 | 20209043 |
1.PTA实验作业(20分/题)
1.1 题目名1 求组合数
本题要求编写程序,根据公式C=m!/(n−m)!n!算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.1.1数据处理
数据表达:我用了i,n,m,result,product五个变量,用整数型int定义i,n,m。用浮点型double定义result,product。
数据处理:表达式:【for(i=1;i<=n;i++)】 【 product = productI】 【scanf("%d %d",&m,&n)】 【result = fact(n)/(fact(m)fact(n-m))】几个简单而且常用的表达式。
函数参数:主函数:int main(),被调用函数:double fact(int n),for()循环,printf函数,和scanf函数等等形式参数来定义这些变量。
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 测试说明 |
|---|---|---|
| 3 7 | 35 | m<n |
| 5 5 | 1 | m=n |
| 8 2 | 0 | m>n |
1.1.4 PTA提交列表及说明

1.编译错误:result写成了result,检查了半天,没想到我熟悉的单次尽然错了。
2.部分正确: 之后提交显示格式出错误,我硬是没有找出来,问了同学之后,想不到result等于什么时要写上空格。
3.部分正确: 在同学和自己的努力下,完成这道题。
1.2 题目2 【7-3 求幂之和 (15分)】
本题要求编写程序,计算sum = 21+22+----+2^n。可以调用pow函数求幂。
1.2.1 数据处理
数据处理:运用了数学函数<math.h>,也运用了整型int定义了i,n,同时也用双浮点函数定义result,保证可以储存数量够大的数值。在运算过程中,运用了pow函数。
数据处理: 【for(i=1;i<=n;i++)】【result+=pow(2,i);】两个代码
函数参数:主函数:int main(),被调用函数:double pow(),形式参数为定义的整型变量I,n,实参数为定义的整型变量result与参加pow函数预算的 。
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 测试说明 |
|---|---|---|
| 4 | 30 | n<10 |
| 7 | 254 | n<10 |
| 10 | 2046 | n<=10 |
1.2.4 PTA提交列表及说明

1.编译错误:少了空格,再输出控制说明哪里
2.部分正确:提交之后就正确了。
2.代码互评(5分)
同学1的代码

------------------------------------
同学2的代码

自己代码

比较:
1.同学1的先交代要用的函数,再用主函数,在此基础之上,用了分支语句,看起来比较高级,想的跟多,值得学习,但不要太过于简单复杂化了。
2.同学2的代码与我的差别在她先交代函数,而我在代码后才交代。两种不同的表达方式。
3.学习总结(15分)
3.1 学习进度条(5分)
| 周/日期 | 这周所花的时间 | 代码行学到的知识点 | 简介目前比较迷惑的问题 |
|---|---|---|---|
| 11/1—11/8 | 15h | pow(),sqrt()函数 | 数据控制输出 |
| 11/9——11/15 | 17h | 函数 | 函数的被动定义 |
3.2 累积代码行和博客字数(5分)


3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
本周,我们学习了一部分自定义函数,然后我自学了制作思维导图和另一部分自定义函数。

3.3.2 学习体会
1.学习了函数,使原来抽象的概念具体化了,【不错不错真不错。】这是真实的学习感觉,因为我学会了使用函数。 我对被动函数的格式有点不太清楚,括号内容的定义有点晕。
2.课堂上能掌握的知识是有限的,所以我们要学会自学。

浙公网安备 33010602011771号