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. .NET CAD二次开发学习 直线画矩形并转换成组

    主要代码: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System ...

  2. 使用C#开发windows服务定时发消息到钉钉群_群组简单消息

    前言:本提醒服务,是由C#语言开发的,主要由windows服务项目和winform项目组成,运行服务可实现功能:向钉钉自定义机器人群组里,定时,定次,推送多个自定义消息内容,并实现主要功能的日志记录. ...

  3. c# String ,String[] 和 List<String>之间的转换

    C#对字符串进行处理时,经常需要进行String,String[]和List<String>之间的转换 本文分析一下它们的差异和转换 一. 1. String > String[] ...

  4. Linux网络相关概念和修改IP地址的方法

    2.1.1  网卡的命名规则 CENTOS6的网卡命名方式:它会根据情况有所改变而非唯一且固定,在CENTOS6之前,网络接口使用连续号码命名: eth0. eth1等,当增加或删除网卡时,名称可能会 ...

  5. Java学习点滴——Integer缓存

    前言 一切从下面这段代码开始 public static void test(String[] agrs){ Integer a = 1; Integer b = 2; System.out.prin ...

  6. 关于时间的那些事--PHP、JavaScript、MySQL操作时间

    PHP篇 PHP中时间操作单位是秒 一.将时间戳转为普通日期格式 //当前时间戳 time(); //当前时间格式 date("Y-m-d H:i:s",time()); //昨天 ...

  7. 05 入门 - 浅谈 ASP.NET MVC程序的工作原理

    目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容 1. Global.asax文件 2. RouteConfig.cs文件 3. 视图命名和寻址的规则 前面创建了一个简 ...

  8. KsUML 免费的类图建模工具

    最近基于SharpDevelop和NClass两个开源软件,开发了一个免费的类图建模工具,详情请访问 www.TimeGIS.com KsUML类图建模工具是一个用来给软件开发人员使用的一种UML类图 ...

  9. Linux使用nginx反向代理。可实现域名指向特定端口

    在配置80指向域名的时候出现端口占用,使用kill -9无法杀死端口,应使用下面的命令来杀死进程killall -9 nginx(使用完本命令需要再把配置过的配置文件重新启动.命令写在了PS下面)后在 ...

  10. golang语言示例

    package main import "fmt" /* my first programmer in go */ func fib(n int) int{ if n<2{ ...