这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11526 |
我在这个课程的目标是 | 对代码的理解更上一层 |
这个作业在那个具体方面帮助我实现目标 | |
参考文献 | 教材 |
1.PTA实验作业
1.1C程序设计 实验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数据处理
1.1.1数据处理数据表达:浮点型 fh,mh,h ;字符型:sex,sports,diet。 fh,mh,sex,sports,diet为用户输入,h由表达式计算而来。 数据处理:用到了if-else判断语句,表达式为h = (fh * 0.923 + mh) / 2等;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
F 182 162 N Y | 167.5cm | 女,父亲身高182,母亲身高162,不爱锻炼,饮食习惯好 |
M 170 159 N N | 177.7cm | 男,父亲身高170,母亲身高159,不爱锻炼,饮食习惯不好 |
M 200 180 Y Y | 212.4cm | 男,父亲身高200,母亲身高180,爱锻炼,饮食习惯好 |
F 175 166 Y Y | 169.5cm | 女,父亲身高175,母亲身高166,爱锻炼,饮食习惯好 |
1.1.4 PTA提交列表及说明
根据PTA提交列表,简要描述调试程序碰到的问题及解决办法:
Q1: 编写完成后,自信提交, 答案错误了,,,;
A1 在VS2019上检查了一下,调试,发现这个语句
if ( sports == 'Y' || sports=='y') { h = h + h * 0.02; } else if (sports == 'N' ||sports== 'n') { h = h; }
不管是否输入Y,N都执行的第一句的命令,就把这两个换了下位置,结果一样了;
Q2:结果一样后提交,部分正确;
A2:说是当性别是男的是对的,是女的就不对了,是因为空格也算字符,我的Y,N干脆就被挤掉了,在输入sports和diet两个字符前加了getchar(),给空格一个位置,就正确了。
1.2 有多少位是7?
从键盘读入一个4位数的整数,求该数中有多少位是7
1.2.1 数据处理
数据处理数据表达:整型:s;浮点型 n,x; n为用户输入,s,x由表达式计算而来。 数据处理:用到了for(if)嵌套语句,表达式为s = n / pow(10, 3 - i);x = x + 1;
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4757 | 2 | 4757有两个七。。。 |
1000 | 0 | 输入1000,没有七. |
7777 | 4 | 输入7777,四个七。 |
1.2.4 PTA提交列表及说明
根据PTA提交列表,简要描述调试程序碰到的问题及解决办法:
Q1: 先是用本方法过了,然后用循环做,编译错误。
A1 :scanf_s忘改了,改成scanf;
Q2:还是编译错误,没有加<math.h>的头函数,就pow函数那里错了。
A2:加上后正确。
2.代码互评
同学代码截图
(1)
(2)
自己代码截图
1.看了同学的代码发现他们的都是一个scanf就全部输入的,我自己第一次也是这样写,直接报错了,显示未经处理的错误,不知道为啥;
2.我这样输入需要加getchar()是给输入空格一个位置,因为空格也算字符;
3.思路我们三个都不一样,一个是把全部可能都if了一遍,一个是先算男生再算女生,我呢是分性别,运动,饮食习惯三个判断;
3.学习总结
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前存在的问题 |
---|---|---|---|---|
第十二周 | 14h | 850 | 标准库函数:string.h | 一些函数的作用还没记清楚 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2学习体会
1.因为知道后面有比赛,有压力才有动力吧;
2.目前还是花在学习上的时间少,C没学好,别的也落下了,这不好,以后要端正态度。