C语言I博客作业04
作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11496 |
我在这个课程的目标是 | 学会自定义函数,制作思维导图,本次作业拿到满分 |
这个作业在那个具体方面帮助我实现目标 | 通过PTA的编译处理结果让我规范答题 |
参考文献 | 《C语言程序与设计》,百度 |
学号 | 20209062 |
1.PTA实验作业(20分/题)
1.1 求组合数
本题要求编写程序,根据公式C=m!/(n−m)!n!算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.1.1数据处理
数据表达:我用了m,n,i,result,product,sum变量。用int给m,n,i定义,用double双浮点型函数给sum,result定义,方便储存大数量得数。
数据处理:调用fact自定义函数,算式整体用for循环结构计算。
函数参数:主函数:int main(),被调用函数:double fact(int n),for()循环,形式参数为定义的整型变量惹n,m,result,实参数为定义的整型变量sum,i。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 7 | 21 | m<n |
8 8 | 1 | m=n |
5 3 | 0 | m>n |
1.1.4 PTA提交列表及说明
提交作业说明:没什么大问题,在第一次使用for循环失败后,调节一下就直接完成了。
1.2 求幂之和
本题要求编写程序,计算sum = 21+22+----+2^n。可以调用pow函数求幂。
1.2.1数据处理
数据处理:运用了数学函数<math.h>,同时运用了int定义了a,b,n,同时也用双浮点函数定义sum,保证可以储存数量够大的数值。在运算过程中,运用了pow函数。
数据处理:很简单的定义函数,并且在计算幂函数是调用pow,算式整体运用for循环结构计算。
函数参数:主函数:int main(),被调用函数:double pow(),形式参数为定义的整型变量a,b,n,实参数为定义的整型变量sum与参加pow函数预算的2,a。
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
7 | 254 | n>5 |
4 | 30 | n<5 |
0 | 0 | n=0 |
1.2.4 PTA提交列表及说明
编译错误:之前在for循环的()后面加上了“;”,一个粗心的错误。
答案错误:在第二次运行的时候“result=%.0lf”写成了“reslut=%lf”。
同学代码截图
···分割线···
自己代码截图
·比较
1.同学1的代码没有使用自定义函数,一共写了三个循环函数,将所有要用的阶乘都设定完毕,再套用公式。
2.同学2使用了自定义函数,而且明显用了while函数进行循环,差别和我的不太大。
3.我的则是比较平常,没有用很复杂的手法来解题,但其实可以运用一个if——else循环来进行一个错误答案的提示。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学的知识点简介 | 目前比较迷惑的内容 |
---|---|---|---|---|
10/12——10/18 | 40h | 581 | printf(),scanf()的用法,if-else的用法 | 为什么PTA和vs2019的调试判定不一样 |
10/24——11/1 | 33h | 620 | for循环 | for循环与while的区别 |
11/2——11/7 | 22h | 140 | pow(),sqrt()函数 | pow和sqrt函数的运行原理 |
11/8 ——11/15 | 20h | 328 | 自定义函数 |
3.2 累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 400 | 25 |
第二周 | 523 | 120 |
第三周 | 568 | 158 |
第四周 | 700 | 328 |
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
内容:
·本周主要将课本上分支前面的内容全部学完了,还拓展了分支的一部分,同时自己制作了一个网页,并学会了制作思维导图。
感悟:
·课堂上和书本的知识是有限的,完全可以自学加快进度。
·完成代码的时候尽量不出现粗心的小错误,争取把规范编程变成一种日常形式。
·抓紧一切自己能掌握的空闲时间,别让时间从不经意间溜走,同时也抓紧一切时间投入到计算机学习中去。