这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业05 |
我在这个课程的目标是 | 学会函数的定义和调用 |
这个作业在那个具体方面帮助我实现目标 | 怎样使用函数进行编译乘方表与阶乘表 |
参考文献 | Markdown语法参考1,集美大学林丽老师,思维导图 |
1.PTA实验作业
1.1水仙花数判断
本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0。
1.1.1数据处理
数据表达:输入了t,a,sum,i整型变量。
数据处理:运用了if-else语句,利用了N%10求余,还有用pow函数表示幂。
函数参数:主调函数名称:int main (),被调函数名称:int func(const int N),实参:N,形参:t,a,sum,i。
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
153 | 1 | 符合题目要求,编码正确 |
513 | 1 | 是水仙花数 |
258 | 0 | 不是水仙花数 |
1.1.4 PTA提交列表及说明
说明:
--编译错误:将英文符号";"打成了中文符号";"
--编译错误:打错变量了将a = N /100;打成了i = N /100;
1.2求组合数
n!/m!(n−m)!算出从n个不同元素中取出m个元素(m≤n)的组合数。
1.2.1 数据处理
数据表达:使用整形变量定义i,n,m,用双浮点变量定义result。
数据处理:用for循环结构得出答案。
函数参数:主调函数名称:int main (),被调函数名称:double fact(int n)。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 7 | result = 21 | 编码正确 |
1.2.4 PTA提交列表及说明
说明:
--答案正确:这道题老师上课说过,上课在认真听老师讲述方法,而且使用了几种不同的方法。
2.代码互评
同学1
同学2
1.他们俩个的代码都差不多,一个是N==,一个是==N。
2.我使用了pow函数进行计算,他们直接相乘。
3.他们的代码行比我的少,我还需要改进,老师说过能有多简洁就多简洁。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/22-10/26 | 5h | 159 | 如何自定义函数,调试,函数命名 | 函数如何运算,什么时候函数返回。 |
3.2 累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
学习C语言有一段时间了,我从开始的什么都不懂,变的逐步了解和深入C语言,我希望我能够更了解C语言。在逐步的学习过程中,我发现自己在不断的进步,当然这离不开老师和同学们的帮助。这一周我们学习的是关于函数的定义和调用。调用函数大致为5步:1通过函数名找到函数的入口地址,2给形参分配空间,3传参:就是把实参变量对应的空间的值传给形参,4执行函数体里的语句,5函数返回并释放内存空间。希望在今后的日子里我能取得更大的进步,做到不依赖任何人和东西独自完成作业,加油!
为学须刚与恒,不刚则隋隳,不恒则退。——冯子咸