1.本章学习总结

1.1 思维导图

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

在暑假已经有初步接触c语言,所以在学习c语言的开始会比较轻松,但仍然解题时候步骤太过于繁琐,简单的题目复杂化,对编程的优化的处理能力还需提升。希望能在老师的课上了解更多有趣的关于编程的网站和知识,比如掌握驼峰命名法和老师安利的www.easyx.cn

1.2.2 代码累计

2.PTA总分

2.1截图PTA中顺序结构、分支结构的排名得分


2.2 我的总分:

顺序结构:100
分支结构:125
总分:225

3.PTA实验作业

3.1 PTA题目1

根据活动经费和U盘单价预估可购买U盘的最大数量。

3.1.1 算法分析

1.定义活动经费money,u盘单价price,购买数目number。
2.输入活动经费和u盘单价。
3.用由活动经费除去u盘单价可得可购买数量,但由于浮点数的误差,则在数量加上0.00001,即money/prince=number+0.00001。
4.输出所求得的u盘购买数量,即number。

3.1.2 代码截图

3.1.3 测试数据

3.1.4 PTA提交列表及说明


注明:此题目一直在dvec++上面测试不出来,当时一直没有提交,后来老师点破才明白。

  • Q1:输出值与题目所给的输出样例不符合,按照第一个样例输入,输出结果永远少1。
  • A1:定义变量方面和输入的语法没有错漏和失误,推测是输出出现问题,可是无论怎么改都是错误的。
  • Q2:没有对浮点数误差知识点的了解,导致问题无法解决。直接用money/price=number,故答案一直不正确。
  • A2:最后在老师课上了解了浮点数的误差,才知道浮点数误差的知识点,才明白money/price=number+0.000001才对。
  • 总结:浮点数判断相等有误差,需要设定一个阈值解决误差问题。

3.2PTA题目2

根据输入的三角形的三条边a、b、c,计算并输出面积和周长。

3.2.1 算法分析

1.程序开始放入math.h的头文件,后续计算有需要。
2.定义三角形的三条边,分别设为a,b,c,s。
3.输入a,b,c。
4.求出s。
5.使用if else分支结构,判断如果a+b>c,a+c>b,b+c>a是否成立。
6.如果成立,则通过sqrt(s(s-a)(s-b)*(s-c))求出面积,用a+b+c求出周长。
7.如果不成立,则输出These sides do not correspond to a valid triangle。

3.2.2代码截图

3.2.3 测试数据

3.2.4 PTA提交列表及说明

  • Q1:明明按照三角形的两条边之和大于第三边进行编程,为什么还是一直错误?
  • A1:原来是任意的两条边之和大于第三边,情况考虑不周全,所以总是部分正确,有情况是错误的。
  • Q2:为什么考虑了任意的条件,反而变成了编译错误?
  • A2:当时对逻辑符号没有了解,将逻辑运算的和用‘,’来处理,原来是要用‘&&’,知道之后追悔莫及。

3.3PTA题目3

输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

3.2.1算法分析

1.定义年(year)、月(mouth)、日(day)。
2.用if-else分支结构判断输入年份是否是闰年。
3.如果是闰年,进入switch case运算,计算出日期。
4.如果不是闰年,也一样进入switch case运算,但运算的数值不同。
5.求出日期是该年的第几天,并输出。

3.2.2代码截图

修改前

修改后

注:该优化参考同学思路,如有更好的优化方式,谢谢评论。

3.3.3测试数据

3.3.4提交列表及说明

  • Q1:一开始不清楚到底是switch day还是mouth,使代码在编译器上混乱,并且得不到正确答案。
  • A1:认真看清楚题目,分析算法,得知switch的是mouth,终于让程序编译成功
  • Q2:开始只知道以为的switch case 然后输出,使得整个代码看上去烦乱和复杂。
  • A2:后来认真分析,并在同学的帮助和讨论下,得到修改后的代码,也许还不够简洁明了,希望有更好的方案的同学能够通过评论,给我点建议。

4.点评同学博客

one

two

three

four

five

C博客作业01--分支、顺序结构的更多相关文章

  1. C博客作业01——分支,顺序结构

    C博客作业01--分支,顺序结构 0.展示PTA总分 1本章学习内容 1.1学习内容总结 1)格式化输出函数printf(),scanf(). 它是什么? 对于初学者而言,一开始了解接触它们,只是被硬 ...

  2. C博客作业01——分支、顺序结构

    1.本章学习总结 1.1思维导图 本章学习体会及代码量学习体会 1.2.1学习体会 在暑假的时候就有加入新生学习群,对C语言有一定的基础,所以这周的学习相对轻松,但一些细节方面的知识并不是很了解.在这 ...

  3. c语言博客作业01—分支、顺序结构

    1.本章学习总结  1.1 思维导图  1.2本章学习体会及代码量学习体会  1.2.1学习体会 这周 对c语言的学习 明显与其他同学相比较有些滞后,觉得很大原因是暑假没有看教学视频,课前没有预习课本 ...

  4. C博客作业01--分支,顺序结构

    本章学习总结(2分) 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本周初次接触C语言,一开始难度较大,很多代码都看不懂,书里面的章节要看很多遍.开始编写代码时也遇到很多困难 ...

  5. C博客作业01--分支顺序结构

    1.展示PTA总分 2.本章学习总结 ①C语言数据类型 ② if-else语句 if (条件) { 语句A; } else { 语句B; } 在if (条件)后不加":" 要用&q ...

  6. C语言I博客作业01

    C语言I博客作业01 作业1 这个作业属于哪个课程? C语言程序设计I 这个作业要求在哪里? https://edu.cnblogs.com/campus/zswxy/CST2019-2/homewo ...

  7. C语言l博客作业01

    2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样?(2分) 计算机科学与技术是国家一级学科,下设信息安全,软件工程,计算机软件与理论等专业,主要培养符合教育部门实际需要的计算机教学及应用管理 ...

  8. C语言II博客作业01

    这个作业属于那个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-4 这个作业要求在哪里 https://edu.cnblogs.com/campus/zs ...

  9. c博客作业01——顺序 分支结构

    本章学习总结 1.1 学习内容总结 ·学习switch分支的使用,switch后加括号(),括号内填一个变量或字符 如 switch (a) { case 2: case 3: default: } ...

  10. DS博客作业01—日期抽象数据类型设计与实现

    1.本章学习总结 1.1 思维导图 1.2学习体会 开学就来了个大作业,还要求用的是c++语法,作为一个只听过没学过的未知语法,靠着CSDN和寝室大佬的帮助下渐渐地了解了一些c++的使用,现在也可以使 ...

随机推荐

  1. 2.2Bind建立配置文件和实体的映射「深入浅出ASP.NET Core系列」

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 新建MVC项目 这次我们没有使用控制台项目,而是使用mvc来测试. 如下图所示,选择空的项目,建完后,记得把项目设 ...

  2. 从PRISM开始学WPF(四)Prism-Module-更新至Prism7.1

    0x4Modules Modules是能够独立开发.测试.部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以被设计成实现通用基础设施或服 ...

  3. 文件输入输出流工具: IOUtils使用总结

    序言 以前写文件的复制很麻烦,需要各种输入流,然后读取line,输出到输出流...其实apache.commons.io里面提供了输入流输出流的常用工具方法,非常方便.下面就结合源码,看看IOUTil ...

  4. 学JAVA第十七天,接口与抽象方法

    JAVA接口可以让代码更加有合理的规范性,就想一个项目小组,组长要负责把成员的代码整合,但是每个成员写的方式都是按照他们自己的想法来写的, 所以,整合起来就非常麻烦. 但是,如果我们的组长制作了一个接 ...

  5. Linux IO模型(同步异步阻塞非阻塞等)的几篇好文章

    聊聊同步.异步.阻塞与非阻塞聊聊Linux 五种IO模型聊聊IO多路复用之select.poll.epoll详解 ​

  6. spring aop中pointcut表达式完整版

    spring aop中pointcut表达式完整版 本文主要介绍spring aop中9种切入点表达式的写法 execute within this target args @target @with ...

  7. [Java] 为什么字符串比较不能用两个等号(==)

    Java中,使用"=="比较字符串时,判断的是两个字符串是否存放在相同的位置.如果两个字符串存放在相同的位置,那么它们就是相同的,使用"=="比较的结果也就是T ...

  8. Spring注解IOC/DI(4)

    2019-03-08/11:10:17 演示:使用注解的方式完成注入对象中的效果 注解参考链接:https://www.cnblogs.com/szlbm/p/5512931.html Spring中 ...

  9. 轨迹系列4——WebGIS中使用ZRender实现轨迹前端动态播放特效

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在地图上以时间轴方式播放人员.车辆在地图上的历史行进 ...

  10. node.js解析微信消息推送xml格式加密的消息

    之前写过一个解密json格式加密的,我以为xml的和json的差不多,是上上个星期五吧,我的同事也是在做微信公众号里面的消息推送解密,发现好像只能使用xml加密格式的发送到服务器,我们去年也做过企业微 ...