• C语言I博客作业05


    1.作业头

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-1
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530
    这个作业的目标 熟悉多分支结构、字符型数据类型和逻辑运算符
    学号 <20208956>

    本周作业头

    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530
    我在这个课程的目标是 熟悉多分支结构、字符型数据类型和逻辑运算符
    这个作业在那个具体方面帮助我实现目标 能够清楚的描述好自己写的代码,学会阅读别人的代码,总结学过的内容
    参考文献 C语言程序设计(3)、C primer plus

    1.PTA实验作业(20分/题)
    请再此处列出自己的排名图片

    从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

    1.1 题目名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数据处理

    数据表达:定义整型变量feHeight、moHeight。A为所求身高,用字符型变量sex、sports、diet。
    数据处理:
    定义变量feHeight、moHeight,A,sex,sports,diet
    输入sex,faHeight,moHeight,sports,diet;
    首先判断sex:if(sex=='F'||sex=='f')是否正确,若正确则A=(faHeight*0.923+ moHeight)/2;若不正确则判断if(sex=='M'||sex=='m')若正确则A=( faHeight+moHeight)*0.54 
    在判断完sex后接着判断sports:if(sports=='Y'||sports=='y')若正确则进行A=A+A*2/100若不正确则判断if(sports=='N'||sports=='n')若满足则A=A*1
    接着以同样的方法判断diet并得到不同情况下的身高A。
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入样例 输出样例 说明
    F 182 162 N Y 167.5cm 女性、不喜欢体育锻炼、有良好饮食习惯
    F 182 162 Y Y 170.8cm 女性、喜欢体育锻炼、有良好饮食习惯
    F 182 162 N N 165.0cm 女性、不喜欢体育锻炼、没有良好饮食习惯
    F 182 162 Y N 168.3cm 女性、喜欢体育锻炼、没有良好饮食习惯
    M 182 162 N Y 188.5cm 男性、不喜欢体育锻炼、有良好饮食习惯
    M 182 162 Y Y 192.3cm 男性、喜欢体育锻炼、有良好饮食习惯
    M 182 162 N N 185.8cm 男性、不喜欢体育锻炼、没有良好饮食习惯
    M 182 162 Y N 189.5cm 男性、喜欢体育锻炼、没有良好饮食习惯

    1.1.4 PTA提交列表及说明

    根据PTA提交列表,简要描述调试程序碰到的问题及解决办法。

    提交列表说明:

    1.答案错误:在定义变量时将A定义为了整型。后来经过调试发现了这个问题。
    2.答案错误:if语句的使用,在一开始我是使用if语句嵌套。通过之前做过的一道例题的解法,想到了将三个变量依次来进行判断。
    3.答案错误:在输出时没有按照题目的输出样例来,我忘记加上单位了。

    1.2 题目2 有多少位是7?

    从键盘读入一个4位数的整数,求该数中有多少位是7

    1.2.1 数据处理

    数据表达:定义了a,A,sum=0三个整型变量。
    数据处理:(使用if语句)
    输入一个四位整数,a,进行计算,从右到左将a的每位数取出,将其与7作比较if(A==7),若相等则sum=sum+1进行计数。
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入样例 输出示例 说明
    4757 2 一个四位数中7的个数为2
    4000 0 一个四位数中7的个数为0
    77777 3 超过了四位数
    7777 4 一个四位数中7的个数为4

    1.2.4 PTA提交列表及说明


    1.部分正确:当是是使用for循环与if的嵌套结构,但是一直是部分错误,我没有想到解决办法,所以便换了一种思路。
    2.部分正确:换成switch进行解题,但并未做对。之后便继续使用if-else。
    3.段错误:并不理解这种错误的原因是什么,于是又换了另一种方法,将输入数据的每一位分离出来进行比较。
    4.编译错误:在切换输入法时输入了中文分号。

    2.代码互评(5分)

    同学代码截图

    1


    2

    自己代码截图

    1.我使用了switch语句,使代码简单了很多。
    2.第一份代码和第二份思路相同,但是if-else的使用不一样。我认为第一个代码太繁琐,第二个比第一个更好一些。
    3.if-else与switch的嵌套使用使代码简单很多。

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第八周 18 220 printf,scanf的使用,以及int类型
    第九周 22 231 if语句分支结构、调用数学函数
    第十周: 25 255 for、while、do...while语句、字符型数据的使用 switch语句多分支结构、break语句和continue语句
    第十一周 28 600左右 switch语句,逻辑运算符,数组,自定义函数 多个循环结构的嵌套使用容易出错
    第十二周 27 680左右 无新的知识点 排序问题

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

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

    3.3.1 学习内容总结

    3.3.2 学习体会

    基础很重要,每过一段时间都要回过头来复习学过的知识。多阅读一些好的代码,遇到一些非常新颖或者对解决一些问题有帮助的部分,如果不能理解的话可以背下来,多用几次就会有一定的理解。不能一味的往前学,要多复习,打牢基础!

  • 相关阅读:
    转: adroid音视延迟 10ms的原因与解答
    去应聘软件工程师记得这样介绍自己
    U盘中了磁碟机病毒怎么办
    Heartbeats
    视频格式研究
    开源镜像站汇总
    Linux各目录缩写含义
    虚拟中没有eth0
    使用#锚点时,jsp中不能有basePath
    android systemUI--Notification 整理
  • 原文地址:https://www.cnblogs.com/hongyinhongyin/p/14008777.html
Copyright © 2020-2023  润新知