C语言I博客作业04

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11493
这个作业的目标 学习自定义函数
学号 20208942

本周作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11493
我在这个课程的目标是 学会自定义函数
这个作业在那个具体方面帮助我实现目标 回忆课堂,写之前构建思路,百度,问同学
参考文献 《C Primer Plus》,c语言程序设计(第三版)

1.PTA实验作业(20分/题)

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

1.1.1数据处理
数据表达:用了变量n,m,i,result;n,m,result都是已知条件给的,i为规定循环次数的变量;n,m,i都为整数型,result为浮点型
数据处理:数据用到的表达式为result=fact(n)/(fact(m)*fact(n-m));流程结构:for循环。
函数参数:主调函数为main函数,被调函数为fact函数;被调函数为double类型,实参n,m,形参n,都为整数型。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
2 7 21 m<n
9 0 0 m>n
0 0 1 m=n
0 8 1 当m<n且为0时,结果都为1

1.1.4 PTA提交列表及说明
根据PTA提交列表,简要描述调试程序碰到的问题及解决办法。


提交列表说明:1.编译错误:没有注意到给出的数据是2 7,在输入时把n放在了m前面。

1.2 求幂之和 (15分)

本题要求编写程序,计算。可以调用pow函数求幂。

1.2.1 数据处理
数据表达:用了变量n,i,sum,result;n,sum,result都是已知条件给的,i为规定循环次数的变量;n,i都为整数型,sum, result为浮点型。
数据处理:数据用到的表达式为sum=sum+pow(2,i);流程结构:for循环。
只有主函数没有主调函数与被调函数。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
5 62 结果为2的1次加到2的5次
1.2.4 PTA提交列表及说明
提交列表说明:1.编译错误:分号忘打。
         2.格式错误:printf输出的reslut=%d格式不对,没有在等号两端加空格。

2.代码互评(5分)

同学代码截图

自己代码截图

代码不同地方。
1.第一份用了while循环,学在了我们前面。
2.但第一份没有考虑到m=0,n>0的情况。
3.第二份让我觉得巧的地方是在printf里面直接把sum的值赋给result。
4.但第二份没有考虑到sum的返回值是double类型的,应该把printf里的%d变成%.0f。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
8/19-8/25 10 180 C语言的发展史及特点,简单编程
9/26-9/1 12 300 用程序语言解决一些简单的数学运算 scanf作为输入函数为什么要地址符,而printf函数不要
10/2-10/8 13 400 了解简单的循环结构 沙漏里的循环套循环怎么弄
11/10-11/15 12 350 自定义函数 while循环

3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会
这一周对C语言这门课程已经有了一个大概的知识体架,也明确了自己要学些什么东西,尽管在学习的过程中还是犯了不少低级错误,但这种错误逐渐在减少,我对于在写编程前也有了自己要注意的地方,另一个就是感受到了同一个题也会有很多种解法,我原来的思维总是被困在书上,但现在我会思考用另一种方式可不可以解决这个问题,我还会翻阅更多大佬的对于同一个题目的不同看法,尽管还有很多看不懂,我也会通过他们的代码在百度一点一点的搜索,然后积累下来。

原文地址:https://www.cnblogs.com/qgbw/p/13975477.html