• C语言I博客作业05


    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11533
    我在这个课程的目标是 继续巩固if else语句的使用及对自定义函数的熟悉
    这个作业在那个具体方面帮助我实现目标 逻辑思维,函数定义
    参考文献 C语言程序与设计,PTA,百度

    1 PTA实验作业

    1.1 用if-else语句编程,根据输入的百分制成绩score(整数),转换成相应的五分制成绩grade后输出。

    当 90≤ score≤100时, grade=A ;

    当80≤ score<90时,grade=B;

    当70≤ score<80时, grade=C;

    当60≤ score<70时,grade=D;

    当0≤ score<60时,grade=E。

    如果输入成绩 score<0或 score>100,则输出“Input error!”。

    1.1.1 数据处理

    • 数据表达:使用了score,grade两个变量,其中score为整形,grade为字符型
    • 数据处理:score<0||score>100等 printf("Input error!")等

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    85 B 85介于80与90之间,故输出为B
    125 Input error! 125大于100,故输出错误
    -2 Input error! -2小于0,故输出错误
    74 C 74介于70与80之间,故输出为C
    55 E 55介于60与0之间,故输出为E

    1.1.4 PTA提交列表及说明

    初始


    修改

    提交列表说明

    • 错误:第一次代码我没有使用或这一逻辑关系词,而是单纯得按照数学逻辑表达;第二次代码则是粗心的将grade写成了score
    • 解决:将90>score>=80改成score>=80&&score<90;将printf后的score全部改成grade

    1.2 7-3 身高预测

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

    设 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.2.1数据处理

    • 数据表达:使用了faHeight,moHeight,yourHeight,sex,S,D六个变量,其中前三个变量为单精度浮点型,后三项为字符型
    • 数据处理:if (sex'M'||sex'm') yourHeight=(faHeight+moHeight)0.54;else yourHeight=(faHeight0.923+moHeight)/2;等

    1.2.2实验代码截图

    1.2.3造测试数据

    输入数据 输出数据 说明
    F 182 162 N Y 167.5cm 系统给定数据
    M 182 162 N Y 188.5cm 在其他数据相同情况下的男性身高
    F 170 165 Y Y 166.7cm 改变运动状态下的身高数值
    F 170 165 N N 161.0cm 改变生活习惯下的身高数值

    1.2.4PTA提交列表及说明




    提交列表说明

    • 第一段代码在scanf之中变量的顺序没有按照题目中的来;第二段代码发生了段错误,float对应了lf导致错误。
    • 改变顺序,&sex起头;一一对应,将lf改为f。

    2 代码互评

    • 同学代码截图</font


    • 自己代码截图

    • 比较
      我的代码使用了上课所学的if else语句并简化了过程,没有表达出N,n
      同学一的代码在定义变量上更加简单,且使用了else if的语句
      同学二的代码使用了自定义函数,与所学内容更加契合

    3.学习总结

    3.1学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    10/12——10/18 15h 218 大致了解了c语言,运用C语言编写最基本的程序 不太了解头文件是什么
    10/19——10/23 17h 260 了解断点的相关操作,并掌握此方法来检查代码 有时候会出现无法进入逐一调试功能
    10/24——11/7 50h 400 学会运用for的循环结构,进一步了解各种字符 还并不能熟练运用for循环结构
    11/8——11/14 18h 365 了解了函数的定义,以及进一步熟悉了各种函数
    11/15——11/23 24h 380 继续巩固了函数的定义以及if——else语句,学习了逻辑关系词的运用 有时候还不能很好的将题目某些条件用逻辑词很好的转化为代码

    3.2累计代码行和博客字数

    时间 博客字数 代码行数
    第一周 210 101
    第二周 565 285
    第三周 985 365
    第四章 1235 452
    第五周 1125 398


    3.3学习内容总结与概括
    3.3.1学习内容总结

    3.3.2学习体会
    本周学习

    • 学习了逻辑关系词,如和&&,或||等。
    • 大致来接了else——if语句,加强了对函数定义的认知。
    • 继续了断点练习。
      感悟
    • c语言学到这个阶段,我觉得更多的是自主学习,而不是单单的从课堂中学到新知识。
    • pta中有些题目我无法将其用逻辑关系转化为代码,所以我亟需进行这方面的练习。
    • 代码需要多打,不能简单看着书本,重在实践。
  • 相关阅读:
    (水题)洛谷
    (水题)洛谷
    洛谷
    (水题)洛谷
    POJ
    poj 3061(二分 or 尺取法)
    poj 2456(二分)
    poj 1064(二分答案)
    POJ 2559(单调栈)
    STL
  • 原文地址:https://www.cnblogs.com/yuanchao666/p/14021211.html
Copyright © 2020-2023  润新知