• C语言I博客作业05


    一.作业头

    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 作业05
    我在这个课程的目标是 学会使用字符型的规则即用法,拓展自己在循环语句中的其他知识
    这个作业在那个具体方面帮助我实现目标 在调试过程中的报错会促使我去寻找问题的答案,一步步修改,查询资料
    参考文献 《C Primer Plus》
    学号 20209032

    二.本周作业

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

    1.1 C程序设计 实验2-3-1 :身高预测。

    • 每个父母都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。

    设 faHeight为父亲的身高,moHeight为母亲的身高,身高预测公式为: 男性成人时身高=( faHeight+moHeight)×0.54 女性成人时身高=( faHeight×0.923+ moHeight)/2cm 此外,如果喜爱体育锻炼,那么身高可增加2%;如果有良好的卫生饮食习惯,那么身高可增加1.5%。

    试编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F或f表示女性,输入字符M或m表示男性)、父母身高(用实型变量存储,faHeight为父亲的身高,moHeight为母亲的身高)、是否喜爱体育锻炼(用字符型变量 sports存储,输入字符Y或y表示喜爱,输入字符N或n表示不喜爱)、是否有良好的饮食习惯(用字符型变量diet存储,输入字符Y或y表示良好,输人字符N或n表示不好)等条件,利用给定公式和身高预测方法对身高进行预测。

    1.1.1
      数据表达:使用了sex,sprots,diet,faHeight, moHeight,height六个变量;其中sex,sprots,diet,faHeight, moHeight是由scanf定义的值,height由后续的判断选择语句中的计算式对其赋值;其中sex,sprots,diet都为字符型,faHeight, moHeight,height为双精度浮点型。
      数据处理:数据用到的表达式为赋值表达式,关系表达式,逻辑表达式;流程结构为if——else与if的分支结构
    
    1.1.2实验代码截图

    1.1.3 造测试数据
    输入数据 输出数据 说明
    F 182 162 N N 165.0cm 当输入的是“N”时,对sprots的判断是否能正确,并且对两个都为“n”时的正确性
    f 182 162 N Y 167.5cm 当输入的是“f”时,对sex的判断是否能正确
    f 182 162 Y Y 170.8cm 当输入两个都为“Y”时的正确性
    M 182 170 Y Y 196.8cm 对男性的判断,看是否与结果相似
    1.1.4 PTA提交列表及说明



      1、答案错误:当提交列表全部出来时,全部报错,便放入visual studio中进行调试,将会出现几个问题,但是调试好后,发现在后面的两个if语句中的表达式无论输入什么都无法计算里面的表达式,自己一个人真的试了很久,最后还是在同学的帮助下,解决了问题,问题的原因出在在scanf中,我并未在后两个%c中出现空格,但是在用户输入时,会输入空格,但是此时的空格被char识别,因此在此处,被识别的便是空格。基于以上原因,于是在应当自己输入空格的地方输入空格,答案才会正确。
      2、编程错误:改问题不是来自pta是有关visual studio的使用中出现的问题,如上图,即使会有弹窗对其做出反应,但是在输入数值后,会对其报错,且没有数值输出,该问题是上网搜索才知道,一个新名词“缓冲值”,但是还是不太理解,就个人理解而言,即在开始时会对其定义一个缓冲值,在输入时还需对其缓冲值进行定义,如果输入的缓冲值大于了定义中的缓冲值,将会出现输入的字符丢失的情况,该问题还需继续深入!!!!
    

    1.2判断体质完整版

    1.2.1 数据处理
      数据表达:使用了BMI,kilogram,height三个变量;其中kilogram,height是由scanf定义变量值,BMI是由计算式赋值计算得出;kilogram,height都为双精度浮点型。
      数据处理:数据用到的表达式为BMI的计算标准以及指数函数;流程结构为分支结构。
    
    1.2.2 实验代码截图

    1.2.3 造测试数据
    输入数据 输出数据 说明
    50 1.75 偏瘦 尝试一下自己的BMI
    60 1.60 正常 比自己重,比自己矮一点会是什么样子
    70 1.82 正常 较高,较重
    62 1.75 正常 试一下自己需要多少体重才能达到标准
    1.2.4 PTA提交列表及说明

      1、答案错误:没有看清题目,一开始以为是体重除以身高,然后再平方。发现自己输入的数据的结果总是错误的,然后发现是计算式的错误,然后就一直在尝试他给我的应该是什么计算式。
    

    2.代码互评(5分)

    2.1 同学代码截图


    2.2 自己代码截图

    2.3 区别

    1. 同学1的代码看上去就比较长了,感觉特别繁琐的样子跟我的这个代码一样的长,但是其实对其进行不同的流程的话,会简化自己的流程。
    2. 会不会有更简单的语句对那些判断相同的整合在一起呢,我一开始想到的便是自定义函数,但是更加简单的暂时还为想到。便开始编写自定义函数,并去翻阅书籍查找那种跟简单的方法,同学2的就特别简单,该思路也还挺清晰的,感觉还是要多学习,多学的东西可以用来简化自己的程序的结构,以提升他的运行速度。
    3. 从同学1的代码中,本人建议还是养成良好的输入习惯,符号与字符之间输入空格增加美观,虽然我也是上一次慢慢改的,希望同学一也可以慢慢养成。

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    6 10.8~10.11 2h 51 打印“ hello world”
    7 10.12~10.18 8h 70 各个符号代表的是什么的基础知识 还有许多符号分辨不清
    8 10.19~10.25 10h 93 数学函数的调用 对于大佬前面的哪些头文件的调用类型看不懂
    9 10.26~11.1 10h 154 if-else语句
    10 11.2~11.6 10h 348 for语句 较为复杂的循环还搞不清循环几次,循环内容
    11 11.2~11.13 8h 360 用户自定义函数的使用,理解与明白函数的定义与调用的区别 自定义函数中如果变量与主函数的变量相同,为什么计算机会分清这两个变量是谁?想不清楚为什么会自己跳动到相应的地点再进行运算,是有什么相应的规则让他自己跳动吗?
    12 11.14~11.20 15h 470 if的嵌套语句,关于char在使用中的事项 关于《C Primer Plus》中有些关于3.4.8的有些概念性的问题较为模糊

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

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    3.3.2 学习体会
    • 这一周学习的学习内容主要是if的嵌套语句,其实已经有所了解了,所以会比较容易理解了,所以还是要预习的,预习的功效还是挺明显的。
    • 如果说发现问题,就一定要搞清楚这个问题是什么原因,不要跳过去,那样将会错过自己学习的机会的!!!!
    • 如果说现在我能察觉到学的东西多有什么好处的话,我第一下肯定就是,简化流程,缩小运算所需要的时间,甚至节省空间,这正是编程的人员考虑的问题。
  • 相关阅读:
    css 颜色
    目标
    css单位
    自我介绍
    Grid Layout
    position
    【转】android源码分析之windowmanager (android悬浮窗口的实现)
    java线程池原理
    STM32 中断中调用freeRTOS API 需要注意的地方
    今天开通博客园啦~~~~
  • 原文地址:https://www.cnblogs.com/mujinyao/p/13998865.html
Copyright © 2020-2023  润新知