C语言I博客作业04

|这个作业属于哪个课程 |C语言程序设计II |
| ---- | ---- | ---- |
|这个作业的要求在哪 | https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11495 |
|这个作业的目标 |让我们对函数的定义与应用有初步认识,能模仿编程 |
|这个作业在哪个具体方面帮我实现目标 |在编程中逐渐深入了解数据处理,通过练习加强编程能力 |
|参考文件 |C语言程序与设计,C Primer plus第六版 |
|学号 |20209042 |

一PTA实验作业

1.1求组合数

本题要求编写程序,根据公式C​n​m​​=​m!(n−m)!​n!​​算出从n个不同元素中取出m个元素(m≤n)的组合数,
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

1.1.1数据处理

数据表达:使用了n,i,result等变量;其中i,n,m是整数型,其中在主函数里面的n与m是由scanf定义变量值,result是双精度浮点型变量
数据处理:流程结构用到了for循环结构,累乘的顺序结构
函数参数:主函数int main(){,被调函数:result = fact(n) ,类型为double型

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
5 3 等于0 这是m>n的情况
2 5 等于10 这是m<n的情况
9 9 等于1 这是m=n的情况,该情况下所有答案都是1
1.1.4PTA提交列表及说明


编译错误:第一次编译错误是因为题目有要求用户从键盘任意输入的两个整数,以空格分隔,没看到需要有空格,后来更改了输出函数以及格式加了空格;
部分答案错误:在求组合数是第一次赋值错误,m=n错误,后result改为1。

1.2求幂之和

本题要求编写程序,计算sum=21​​+2​2​​+23​​+⋯+2​n​​。可以调用pow函数求幂。

1.2.1数据处理

数据表达:使用了n, temp ,sum等变量;都是整数型,其中在主函数里面的n是由scanf定义变量值,sum最后计算赋值得出;
数据处理:流程结构为for循环结构
函数参数:主函数为int main(void)

1.2.2实验代码截图

1.2.3造数据处理

输入数据 输出数据 说明
5 等于62 经过验算答案正确
9 等于1022 答案正确
1.2.4PTA提交列表及说明


之前测试有过一次答案错误temp *=赋值错误后改了。

2代码互评

2.1同学代码截图

2.1我的代码截图


区别:相对于他的代码我的代码更加简洁,他定义的变量较多,他用到的是pow来计算2的i次方而我用的是temp*来计算,
他的变量sum为双精度浮点型,而我的是整数型,我的相对来说更加简洁明了,他的思路较为清晰。

3学习总结

3.1学习进度条

这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
第四周 8h 167 if-else语句以及函数类型 没有
第五周 9h 289 for循环语句以及pow算x的y次方 在设置变量时如何判断变量类型
第六周 9h 387 自定义函数的使用,理解与明白函数的定义与调用的区别 用户定义函数与库函数的区别

3.2累计代码行和博客字数

第六周 387 2239

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习感悟:
在最近的学习中逐渐感觉难度加深,要学习的也更多了,但随着我自己开始更加深入学习c语言我发现要学习的东西太多了,我们不应该只局限于老师
上课讲的内容,我们应该课后去自主学习,这样才能更快提高自己

posted @ 2020-11-14 14:17  王明杰3  阅读(122)  评论(0编辑  收藏  举报