C语言I博客作业03
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/8715 |
我在这个课程的目标是 | 能很熟练的运用C语言,在编程时提高效率 |
这个作业在那个具体方面帮助我实现目标 | 通过运用各种工具和Markdown的语法来帮助我实现目标 |
参考文献 | 百度百科、《C语言程序设计》 |
1.PTA实验作业
1.1阶梯电价
题目:为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
1.1.1贴图
1.1.2数据处理
这个题目要算电费,不同的用电量对应的收费标准会不一样,所以要用if-else语句,其余的按照正常变量打。使用浮点型定义。
1.1.3 PTA提交列表及说明
刚开始编程时,对if-else语句还不熟悉,所以最开始一直出现编译错误,后面通过看书和百度,才终于知道怎么做了。但是因为粗心,总是会有一点小错误,所以显示多种错误和部分正确,后面经过检查,终于做对了。
1.2输出三角形面积和周长
问题:本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。
1.2.1贴图
1.2.2数据处理
这个问题是要算三角形的周长和面积,所以先要判断能否构成三角形,所以要用到if-else语句来判断。然后算面积要开方,通过翻书知道要用sqrt,所以要<math.h>,并且&要打两下(询问同学才知道的)。面积与周长用精准浮点型。
1.2.3 PTA提交列表及说明
刚开始看到题目时,觉得这个题目很高级,担心自己能不能做出来,所以开始因为不自信,总是出现编译错误,后来通过询问同学,经过同学的指点,自己在一瞬间好像突然懂了,出现部分正确的原因是有些变量出现了问题,不过很快就发现了,就做出来了。
1.3三天打鱼两天晒网
问题:中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
1.3.1贴图
1.3.2数据处理
这个问题与之前的题目不太一样,它要用。到余数才能做出来,通过查资料余数是%,而且同学说防止余数是0的情况,要打||。语句还是要用if-else,其余的和之前差不多,只是多了余数这个概念。
1.3.3 PTA提交列表及说明
刚看到这个题目,其实是很懵的,都没看懂,所以也没有立刻就敲代码。先看了遍教材,并且还看了别的资料书,然后通过问同学和查百度,所以犯错犯得比较少但总是出现部分错误,就是一些细节问题没有注意。编译错误就是该空格的地方没有空,或是少了标点符号,还是要细心一点。
2.阅读代码
-
(1)这个代码的问题是:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
-
(2)因为我现在在C语言上还是个新手,看到这些代码,真的很懵。但是我也没有因为复杂而随便应付。我通过查资料知道int fun是一个函数,int fun 是函数的返回值类型是 int 整型,int n、int m 向函数内传递的参数,也是 int 整型,也就是说这个fun函数,传入一个n、m的值,返回一个 int 类型的值。当m=0或者n=1,就是真命题。但是其实这里我有迷惑,这里的真命题是什么意思呢?
-
(3)后面的如果n>m,又出现了return fun(m,m),包括后面的fun(m,n-1)+fun(m-n,n),这里我是真的没有懂。我通过百度,告诉我是f(n,k)=f(n-1,k)+f(n-1,k-1),而f(n-1,k)和f(n-1,k-1)的值又可以通过上式继续递推,最后通过步步迭代得到最终结果,只要知道初始值f(0,0)和f(0,1),以及上述递推公式,就可以求出任意一个合法的f(n,k)的值。可能意思大概是这样(我也不知道是不是)。
-
(4)下面的是T,m,n接收了一个int的函数,然后读入整数 t,后面是一个while语句,但是我在网上看到的与这里有点不一样。在scanf("%d%d",&m,&n)语句上会加上!=EOF,这里是错了呢还是不是一个类型,我也不清楚。最后就是显示答案了。看到这里我又有疑问,这里最后为什么没有return 0呢?我现在关于C语言了解的不多,当我了解更多时,可能这些就不会是问题了吧!希望以后能搞懂这些现在还搞不懂的问题。加油!(老师,这项作业我真的尽力了)
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周(9.19-3.27) | 6天 | 26行 | Hello world编程和Markdown语法 | 现在没有疑惑 |
第二周(9.25-10.4) | 4天 | 45行 | 华氏度与摄氏度的转换 | 对于变量的类型还不是很懂 |
第三周(10.8-10.11) | 3天 | 大约100行左右 | 计算分段函数和学习if-else语句 | 对于if-else语句还是不那么熟练 |
3.2累积代码行和博客字数
3.3学习感悟
学习C语言也已经一个月了,期间遇到了很多困难,总以为自己会卡在这个难点,但是也都克服了。曾经看似末日的,终将被证明只是过程。学习是个不进则退的过程,在上课前,要预习好下一节的内容,需要付出“衣带渐宽终不悔,为伊消得人憔悴”的努力,才会有“那人却在,灯火阑珊处”的喜悦,加油!