| |
---|:--😐:--😐:---
这个作业属于那个课程| C语言程序设计II
这个作业要求在哪里| 作业要求
我在这个课程的目标是| 掌握关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数
这个作业在那个具体方面帮助我实现目标| 在PTA中我学习到了关系的运算
参考文献| ACM解题 leecode面试数题网站

1.PTA实验作业(15分/题)

1.1为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。

1.1.1实验代码截图:

1.1.2数据处理

  • 数据表达:使用x和cost两个变量,分别表示用电量与应付电费,类型为双精度浮点型。
  • 数据处理:利用了if-else语句,属于分支结构,表达式为cost=(x-50)0.58+500.53和cost=x*0.53。

1.1.3 PTA提交列表及说明


Q1:编译错误是有空格和内容错误。
A1:一开始有空格错误,开始不知道else后还能加if。
Q2:少写一个内容倒致答案错误。
A2:答案错误是没有加x小于0的情况。

1.2本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√​s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。

1.2.1实验代码截图:

1.2.2数据处理

  • 数据表达:使用a,b,c,s四个整型变量与area,perimeter两个双精度浮点型变量。
  • 数据处理:if-else语句,分支结构,表达式为area=sqrt(s(s-a)(s-b)(s-c)),perimeter=a+b+c,cost=x*0.53。

1.2.3 PTA提交列表及说明:


Q1:再次少写一个内容
A1:果然一不仔细就会犯错,一只记得写表达式,忘了否则输出的是These sides do not correspond to a valid triangle.
Q2:部分正确实在没找到错误地方。
A2:部分正确我挣扎了好久,就第一个答案错误,其他都正确,我就查查空格什么,愣是没查出来,就不信邪了,删除重输一遍就对了,现在都没弄到底那里错了。

1.3中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?

1.3.1实验代码截图:

1.3.2数据处理:

  • 数据表达:N和x两个整型变量来分别表示第N天与N除5的余数x,余数为0时打鱼,余数为1,2时晒网。
  • 数据处理:if-else语句,分支结构,表达式为x=N%5。

1.3.3 PTA提交列表及说明:



Q1:开始尝试做了一下,没成功。
A1:这题一开始懵了,完全不知如何动笔,后来发现是一个简单数学题。
Q2:一开始寻找不到表示求余的代码。
A2:运算关系倒是写出来,就是不是如何转化为C语言,查了下资料,才发现有求余运算符,就网上搜到了,后来在书上找了半天才找到。

22.阅读代码(-5——5分)

找一份优秀代码,理解代码功能,并讲出你所选代码有点及可以学习的地方。

  • 代码网址
  • 使用递归的方式 int fun(int n,int m),fun(m,n-1) 表示m个苹果放到n-1个盘子中,有一个盘子为空,剩余情况为每个盘子至少有一个苹果,那么分配方法数与每个盘子都减少一苹果方法数相同,即fun(m-n,n)。
  • 优点:因为我们总是让m>=n来求解的,所以m-n>=0,所以让m=0时候结束,如果改为m=1,return 1; 则可能出现m-n=0的情况从而不能得到正确解。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
9.16~9.22 6h 20 初步了解编程如何进行 编程开始的单词有什么作用,编译是如何进行的
9.23~10.6 30h 30 学会运用markdown语法和了解博客园作业格式 如何在博客随笔字体加颜色
10.7~10.11 48h 235 学会了if语句和编程的数学函数怎么写 while语句如何使用和电脑上表格和why手机上顺序不一样

3.2 累积代码行和博客字数(5分)

时间 博客字数 代码行数
9.16~9.22 637 20
9.23~10.6 1964 30
10.7~10.11 3327 235

3.3 学习感悟(5分)

请回顾自己的本周的学习过程,如果你有新的想法或者新的方法,请及时记录下来。

  • 本周三C语言课学习了计算分段函数,PTA和博客作业布置下来后,PTA第一个题目就花了我很长时间,虽然课本上有例题但完全按照是错误的,后来发现整合到一起,不仅减少代码行数且更正确,因此我觉得编程是一个不断探索,在不断敲代码中发现问题,解决问题,发现乐趣。
  • C语言学习是一个大部分知识是自学的,在实践中获得知识。大学不再是高中的教学模式了,大学课后一切靠自己。虽然感觉作业越来越难,时间越来越短,但更具挑战性,答案正确的那个页面让人无比舒服。
  • 尽量在电脑上编程,多使用编程软件,会使作业难度降低许多。编程一定要仔细,一不小心就会出错。万事开头难,多去了解下C语言,我相信入门后会轻松许多。