C语言I博客作业03

这个作业属于哪个课程 C语言程序设计I
这个作业要求在哪里 C语言I-2019秋作业03
我在这个课程的目标是 完成作业,反思自己,提升自己,学会如何编写程序。
这个作业在那个具体方面帮助我实现目标 帮助我反思自己并训练自己的耐心,以及完成作业的速度。
参考文献 百度百科

1PTA实验作业

C语言I博客作业03_第1张图片

1.1计算分段函数

1.1.1贴图

C语言I博客作业03_第2张图片

1.1.2数据处理

题目的目的是计算分段函数f(x)的值,理所当然的用if-else语句来执行,其他的按照常规的定义变量和输入输出就行了。

1.1.3PTA提交列表及说明

C语言I博客作业03_第3张图片
一开始没有注意到前面要考虑的数据,然后就出现了部分错误的情况,后来改正后就对了。

1.2阶梯电价

1.2.1贴图

C语言I博客作业03_第4张图片

1.2.2数据处理

因为这个题目是要我们计算电费,不同范围内的用电量收费标准就会不一样,所以我们要用到if-else语句来执行这个编程,其他的按照常规的定义变量输入输出就行。

1.2.3PTA提交列表及说明

C语言I博客作业03_第5张图片
刚开始编译的时候,不太熟系语法的使用,导致了编译错误,后来不知道怎么样改正,出现了答案错误,这个时候就明白我的错误十分离谱了,在查完资料之后并询问了同学,然后再修改提交发现答案正确了。

1.3输出三角形面积和周长

1.3.1贴图

C语言I博客作业03_第6张图片

1.3.2数据处理

这个问题是要算三角形的周长和面积,所以先要判断能否构成三角形,同样的在解题过程中需要用到If-else语句。然后算面积需要开方,通过翻书的方式了解到要用sqrt,又因为运用到了数学,所以要用

1.3.3PTA提交列表及说明

C语言I博客作业03_第7张图片
这个题目看起来是真的复杂,打起来也是真的复杂,辛辛苦苦打完这题满怀希望的点了提交,发现编译错误,内心的确很崩溃啊,再然后不服输的改正,改正了好久也问了好多同学,然后点提交觉得一定能过,然后还是部分错误,真的太难受了啊,然后在同学的鼓励跟指点下慢慢的纠错,最后还是对了,真的超级开心。

2阅读代码

C语言I博客作业03_第8张图片

问题题目

把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用k表示)

我的理解

这个我还真不知道怎么去理解,我一开始看到这代码的时候内心极其崩溃极其难受,对于这种分类讨论的数学题我基本就是凉凉,但是作业不能不写吧,于是我就去百度了,然后发现博客园里面有个博主发的递归练习,我就去他的解析里面找方法了,他的解析如下:
设f(m,n) 为m个苹果,n个盘子的放法数目,则需要先对N作讨论,
当n>m时:必定有n-m个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响。即if(n>m) f(m,n) = f(m,m)  
当n<=m:不同的放法可以分成两类:
1、有至少一个盘子空着,即相当于f(m,n) = f(m,n-1);
2、所有盘子都有苹果,相当于可以从每个盘子中拿掉一个苹果,不影响不同放法的数目,即f(m,n) = f(m-n,n).
而总的放苹果的放法数目等于两者的和,即 f(m,n) =f(m,n-1)+f(m-n,n)
递归出口条件说明:
当n=1时,所有苹果都必须放在一个盘子里,所以返回1;
当没有苹果可放时,定义为1种放法。因为: 递归的两条路,第一条n会逐渐减少,终会到达出口n==1; 第二条m会逐渐减少,因为n>m时,我们会return f(m,m) 所以终会到达出口m==0.

然后我就跟着他的解析去想这个问题,虽然还是有很多不懂的,但我觉得我可以继续学习,我也关注了这个博主,想跟他交流学习。

3学习总结

3.1学习进度条

周/日期 周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
3/6-3/12 3天 181行 if-else语句,递归,分段函数的计算 对这些还不是很熟练,对这些符号的使用跟空格的使用不是很清楚

3.2累积代码行和博客字数

C语言I博客作业03_第9张图片

3.3 学习感悟

真的太难为我了,一回到寝室就要想着怎么样把作业写了,以前从没有接触过这个东西,真的是难上天了,但是呢,经过不懈努力下我终于到了最后一题,心里有满满的成就感,真的好快乐,我明天可以有一个愉快的星期六了。
在以后的学习生涯中肯定还会有更多更多艰难的挑战等着我们去经历,但是我想我不会放弃的,我会继续努力的。

你可能感兴趣的