C语言I博客作业04
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 作业要求的链接 |
我在这个课程的目标是 | 对函数的定义和调用有初步的认识,能模仿编程 |
这个作业在那个具体方面帮助我实现目标 | 对函数的定义和调用有更深的了解 |
参考文献 | 《C语言程序设计》 |
学号 | 20209039 |
一.PTA实验作业
1.1 求组合数
根据公式算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),以空格分隔。
输出格式:
按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。
输入样例:
2 7
输出样例:
result = 21
1.1.1 数据处理
数据表达:用到了m,n两个通过scanf语法赋值得到的变量都为int型,另外的sum变量由m,n计算得来为double型
数据处理:用到的表达式(i=1; i<=n; i++,result = fact(n)/(fact(m)*fact(n-m))流程结构利用循环结构
函数参数:主调函数为main型,被调函数为fact(double n),双精度浮点型,实参为m,n,sum,形参为i。
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
11 13 | result = 78 | m,n>10 |
52 60 | result = 2558620845 | m,n>50 |
-1 -5 | result = 1 | m,n<0 |
1.1.4 PTA提交列表及说明
1、部分正确:这个问题,我一开始就是在想,会不会跟之前一样呢,有些变量是不是不可以用整型呢,所以就一遍一遍的更改他的变量类型。
2、编程错误:是自己在visual studio中测试完,自己确定没有问题后,直接复制到pta中,出现的。仔细看在pta里面的代码就发现犯一样的错误,即忘记删除scanf后的_s。
1.2 求幂之和
计算可以调用pow函数求幂。
输入格式:
输入在一行中给出正整数n(≤10)。
输出格式:
按照格式“result = 计算结果”输出。
输入样例:
5
输出样例:
result = 62
1.2.1 数据处理
数据表达:i,n,result,power这些浮点型变量
数据处理:本题用了初值表达式、条件表达式、步长表达式和循环体语句
函数参数:主调函数int main,实参、双精度浮点型result、power,形参、整数型i、n。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | result = 126 | 小于最大n大于最小n |
5 | result = 62 | sample等价 |
1 | result = 2 | 最小n |
10 | result = 2046 | 最大n |
1.2.4 PTA提交列表及说明
这题与7-2大致相同,有了前一题的教训,这题一遍过来,还是挺开心的。
二.代码互评
2.1 同学代码截图
2.2 自己代码截图
差异:
1.同学的代码将n定义为整型,我将n统一用double定义,他的更细节、
2.我的代码少定义了一个reslut,直接在printf输出时用sum取代,简化了步骤
3.总体排版来看,我的代码更简洁,但是麻雀虽小,五脏俱全,我个人认为这一局我稍强一点的
2.3 同学代码截图
2.4 自己代码截图
差异:
1.同学代码用x代表了分母,而我用了denominator,他的更简单,可我的更加明显易懂
2.我的代码在这一题计算的时候用到的是题目提到的规律,而这个同学是自己找到的规律,较之我的更加复杂
3.这位同学的代码中使用到了<math.h>数学函数和pow函数看起来函数的难度更高级
三.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周 | 10h | 64 | Helle World!代码,基本printf()语法的使用 | 无 |
第二周 | 25~30h | 217 | 了解常量和变量,数据类型以及不同情况下的使用 | 做PTA上的作业还是很懵的状态 |
第三周 | 35~40h | 458 | if-else,for语句的使用,调用数学函数表达 | 有些头文件的调用类型看不懂,对于复杂的语句做起来很吃力 |
第四周 | 30h | 243 | 用户自定义函数的使用,理解与明白函数的定义与调用的区别 | 对于调用函数不是很熟练 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.初步接触自定义函数,不太熟练。有些不必要的代码可以删除。还是要注重细节。
2.这一周随学到的东西增多,代码也敲的多很多,在实践中细节上的错误在减少,速度也在变快,上周总结了自己不足的地方,也在这周的学习中得到了巩固。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步