C语言I博客作业03
| 问题 | 答案 |
|---|---|
| 这个作业属于那个课程 | C语言程序设计II |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/8719 |
| 我在这个课程的目标是 | 对C语言有一个深刻的了解,让自己对代码有个抽象的理解 |
| 这个作业在那个具体方面帮助我实现目标 | 进一步了解代码,并能跟熟练地掌握markdown的语法 |
| 参考文献 | https://leetcode-cn.com/problemset/algorithms/ 和 https://www.nowcoder.com/ta/acm-solutions?query=&asc=true&order=&page=2 |
1.PTA实验作业(15分/题)
①阶梯电价

数据处理: 变量为n,cost。x为用电量,cost为用电所花的钱,因为用电量分为三个阶段,x<0,x<=50,x>50,所以需要用分段函数来表示,使用if、else,来编译在不同条件下输入的x所得到的不同的cost的值,然后分别输出。

说明: 部分正确的错误是出现在x<0的情况下,我头快要裂开了,就是搞不对,实在是这个条件下没有出一点问题。我的就都是if顺下来的,之后我看了其他的,有的是在x<=5的条件下,if的前面加了else,我试了试结果对了,这告诉了我报错不一定要在那一行,也可以在报错的上下两行。
②输出三角形面积和周长

数据处理: 变量为a、b、c、perimeter、area。a、b、c分别为三角形的三条边,perimeter、area分别为周长和面积。因为a、b、c为正整数,可用%d。分为能构成三角形和不能构成三角形两种情况,所以用if、else,来编译不同的三条边对应的两种不同的情况,要能成为三角形才有面积和周长,所以三条边必须满足a+b>c,a+c>b,b+c>a。所以if中需要“&&”来链接三个条件,“&&”的意思为同时要满足。

说明: 一开始不知道同时满足要怎么搞所以我就是用的“or”、“,”来链接三个条件,结果一直编译错误,后来去搜了一下才知道用的“&&”。有两次正确是因为我之前用了s=(a+b+c)/2,后来看了一下其他的发现可以用perimter来代替a+b+c,这样代码中可以少输入一个s。
③三天打鱼两天晒网

数据处理: 变量为day,day为天数,因为天数为正整数,所以可用%d,这题主要就是要解决数学问题,三天打鱼两天晒网,五天为一轮回,所以就可以用天数除以5的余数来判断打鱼还是晒网,余数大于3或者等于0就是晒网,else就是打鱼。

说明: 主要问题也是部分正确,因为在数学问题中,一开始我忽略了没有余数的一种情况,所以在余数等于0的情况下是打鱼,但实际上是晒网。
2.阅读代码(-5——5分)。找一份优秀代码,理解代码功能,并讲出你所选代码有点及可以学习的地方。

这个代码很适合现在的我们去理解而且也比较容易理解,它的功能是计算矩形周长和面积,其实这种类型的题目最主要的就是要清楚其中的数学关系和逻辑关系。比如计算面积前需要输入长和宽,“三天打鱼两天晒网”要判断哪天是打鱼哪天是晒网,首先就要知道思路,然后要思考怎样吧判断的方法转化成数学语言。
3.学习总结(15分)
3.1 学习进度条(5分)
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 第一周(9.19-9.27) | 2天 | 24 | 代码的最基本输出 | 要怎么进行输入 |
| 第二周(9.25-10.4) | 2天 | 20 | 华氏温度转换和GCC编译器编译的方法 | 怎么样才能打出一个我们能输入一个温度就能把它转化为摄氏度的代码 |
| 第三周(10.8-10.11) | 2天 | 90 | 函数的输入输出 | 各种数学的符号和运算要怎么在代码上表示出来 |
3.2 累积代码行和博客字数(5分)

3.3 学习感悟(5分)
感觉这周的代码也有点难度的,主要原因是这次需要进行数学的运算和逻辑的推理,还要将这些东西用C语言表示出来,很多符号和C语言表示方式都不知道,需要到网上查找。数学和逻辑对于我们来说还是非常重要的,而且密不可分。

浙公网安备 33010602011771号