C语言I博客作业04
C语言I博客作业04
| 这个作业属于哪个课程 | C语言程序设计II |
| ---- | ---- | ---- |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11493 |
| 我在这个课程的目标是 | 灵活运用数组、函数,学会宏定义 |
| 这个作业在那个具体方面帮助我实现目标 | 会去读代码,能够清晰的说出自己的问题,找到解决方法 |
| 参考文献 | c语言程序设计(第三版) |
| 学号 | 20208955 |
1、PTA实验作业
1.1
题目名1
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
1.1.1
数据处理
数据表达:定义整型a,b,c,n,s,分别表示5分,2分,1分的数量,输入的面额,换法个数。
数据处理:表达式:a * 5 + b * 2 + c == n。流程结构:for循环的镶嵌,从面值大的开始,以最多张数依次减小(但每个也至少有一张)最后再判断是否符合,将符合的输出,然后每一次将符合的次数加1。
1.1.2
实验代码截图
1.1.3
造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | count = 0 | 1不符合每张至少为1的条件 |
8 | count = 1 | 最小总面额 |
11 | count = 2 | 正常数据 |
1.1.4
PTA提交列表及说明
说明
- 1、编译错误:在VS中调试后,忘将scanf_s换为scanf;
- 2、多种错误:在for循环里,将n重新赋值;
- 3、格式错误:输出格式要分行,忘记在printf里加\n;
1.2
题目2
本题要求编写程序,根据公式C
n
m
=
m!(n−m)!
n!
算出从n个不同元素中取出m个元素(m≤n)的组合数。
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
1.2.1
数据处理
数据处理:用了整型:m,n。小数:result;分别代表输入的两个整数,小数结果;
数据处理:表达式:result = fact(n)/(fact(m)fact(n-m)) , retult = retultx 。 流程结构:先进入主函数,运行到算式的时候开始调用定义函数,运行完后又回到主函数,结束。
函数参数:主函数名称:无,被调函数:阶乘。实参:int n,m,retult; 形参:fact(int n),类型:整型。
1.2.2
实验代码截图
1.2.3
造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 5 | result = 10 | 正常值 |
5 0 | result = 0 | n=0,分子为0 |
1 1 | result = 1 | 不成立 |
1.2.4
PTA提交列表及说明
(在PTA中调试完了)
说明
-
1、编译错误:在定义函数的时候加了';',被调函数在上面的时候不需要。
-
2、答案错误:result = fact(n) / (fact(m) * fact(n - m))忘记外面的‘()’。
2.代码互评
同学代码
第一位
第二位
自己代码
第一位
- 运用了函数:宏定义,这是我所迷糊的地方,内容上面差不太多。
- 然后他把主函数放在了后面,被调函数在前面,也是一种方式。
第二位
- 和我的基本上是一样的。
- 简单的运用了多个for的镶嵌。
- printf在里面就可以输出每次循环的变化。
3.学习总结 (15分)
3.1 学习进度条 (5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第十周 | 24小时 | 78 | 数组 | 迷糊流程,字符串,以及对题目的处理 |
第十一周 | 30小时 | 428 | 函数 | 宏定义,对题目不能很好的反应过来 |
3.2累积代码行和博客字数 (5分)
时间 | 博客字数 | 代码行数 |
---|---|---|
第八周 | 585 | 10 |
第九周 | 1031 | 670 |
第十周 | 1289 | 593 |
第十一周 | 1413 | 1034 |
3. 学习内容总结和感悟(5分)
3.3.1
学习内容总结
思维导读
感悟
-
这周学习了函数,了解到了宏定义,虽然还不太懂,但是既然都了解了,在B站大学,应该还是可以接受的。
-
测试了两次,成绩还是挺差的,反应不够,不知道要怎么处理给的题目。
-
之前学过的似乎还是不扎实,打算先停止继续刷题,把之前写过的看一遍,有必要重新打一遍。
-
C语言的知识点也挺多的,我们学的才还是一丢丢,然后其实如果知识等老师来讲,是不够的,得真的学会自学,问问题的次数也可以减少,多想,多去尝试。
3.3.2
学习体会
C语言还有很多都没有学到,还有很多都是不知道的,不可能都得由别人来交你,所以,学会自学是十分重要的,大学,本来也就是自学的过程,我们得学会自己成长。问问题也是的自己经过了无数次思考后,真心想不出了。不然会很容易养成依赖性,效果也不会比自己的来的好,