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

                
            
        
浙公网安备 33010602011771号