C语言I博客作业04
|这个作业属于哪个课程 |C语言程序设计II |
| ---- | ---- | ---- |
|这个作业的要求在哪 | https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11495 |
|这个作业的目标 |让我们对函数的定义与应用有初步认识,能模仿编程 |
|这个作业在哪个具体方面帮我实现目标 |在编程中逐渐深入了解数据处理,通过练习加强编程能力 |
|参考文件 |C语言程序与设计,C Primer plus第六版 |
|学号 |20209042 |
一PTA实验作业
1.1求组合数
本题要求编写程序,根据公式Cnm=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+22+23+⋯+2n。可以调用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语言我发现要学习的东西太多了,我们不应该只局限于老师
上课讲的内容,我们应该课后去自主学习,这样才能更快提高自己