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. Virtual Box虚拟机Ubuntu18.X系统安装及Mysql基本开发配置

    Linux简介 什么是 Linux? Linux:世界上不仅只有一个 Windows 操作系统,还有 Linux.mac.Unix 等操作系统.桌面操作系统下 Windows 是霸主,而 Linux ...

  2. SpringBoot整合系列--整合MyBatis-plus

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10125279.html SpringBoot整合MyBatis-plus 步骤 第一步: ...

  3. android 资源

    在进行APP开发的过程当中,会用到许多资源,比如:图片,字符串等.现对android资源知识进行简单记录. 具体的详细信息及用法,点击查看官方文档 分类      一般android资源分为可直接访问 ...

  4. Django学习之十一:真正理解Django的路由分发和反解url原理

    目录 URL Dispatcher 简介 模式概念 对比URLPattern 与 URLResolver (多态的体现) 构建子路由几种方式 反解url算法逻辑 URL Dispatcher 简介 d ...

  5. ArcPy 拷贝数据库

    使用Python脚本进行图形数据库的拷贝. 原始帖子地址:https://www.2cto.com/database/201302/187391.html 整理Python代码: # -*- codi ...

  6. C# 利用键值对取代Switch...Case语句

    swich....case 条件分支多了之后,会严重的破坏程序的美观性. 比如这个 上述代码是用于两个进程之间通信的代码,由于通信的枚举特别的多,所以case的分支特别的多.导致了代码的可读性,可维护 ...

  7. python-重载

    重载概念 重载是对继承的父类方法进行重新定义.重载可以重新定义方法还可以重新定义运算符.因为通过继承的类不一定能满足当前类的需求.在当前类中只需要修改部分内容而达到自己的需求. 重载特点 减少代码量和 ...

  8. mysql解压包安装教程

    1.下载压缩包,地址1(官网下载):https://www.mysql.com/downloads/   地址2(百度网盘):https://pan.baidu.com/s/12lnpcr3thBe9 ...

  9. Python基础之函数和模块

    函数的基本使用 函数的定义:把具有独立功能的代码块组织成一个小模块,在需要的时候调用.或者说,函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数的使用:1.定义函数:2.调用函数 ...

  10. Kafka Tuning Recommendations

    Kafka Brokers per Server Recommend 1 Kafka broker per server- Kafka not only disk-intensive but can ...