C语言I博客作业05

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11529
我在这个课程的目标是 熟悉多分支结构、字符型数据类型和逻辑运算,运用所学内容解决实际问题,学习解决同一问题的不同的方法
这个作业在那个具体方面帮助我实现目标 做PTA实验作业,代码互评
参考文献 C语言程序设计

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

1.1 C程序设计 实验2-3-1 (20分)

身高预测。

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

设 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表示不好)等条件,利用给定公式和身高预测方法对身高进行预测。

输入格式:
在一行中给出性别、父亲身高、母亲身高、是否喜爱体育锻炼、是否有良好饮食习惯,数据间以空格分隔。

输出格式:
输出预测的身高,保留一位小数。

输入样例:
F 182 162 N Y 
输出样例:
在这里给出相应的输出。例如:

167.5cm

1.1.1数据处理

数据表达:所用变量:faHeight,moHeight,myHeight,sex,sports,diet;这些变量的值的来源:faHeight、moHeight、sex、sports、diet是输入的值;myHeight是根据faHeight、moHeight、sex、sports、diet这些值得出的;类型:双精度浮点型(double),字符型(char)。
数据处理:数据用到的表达式:myHeight = (faHeight * 0.923 + moHeight) / 2,myHeight = (faHeight + moHeight) * 0.54,myHeight = myHeight * 1.02,myHeight = myHeight,myHeight = myHeight * 1.015;流程结构:。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
F 182 162 N Y 167.5cm 女性,不喜爱体育锻炼,有良好的卫生饮食习惯
f 182 162 n Y 167.5cm 女性,不喜爱体育锻炼,有良好的卫生饮食习惯
f 172 158 y y 164.0cm 女性,喜爱体育锻炼,有良好的卫生饮食习惯
F 188 167 y n 173.7cm 女性,喜爱体育锻炼,没有良好的卫生饮食习惯
f 196 166 Y n 176.9cm 女性,喜爱体育锻炼,没有良好的卫生饮食习惯
M 182 162 N Y 188.5cm 男性,不喜爱体育锻炼,有良好的卫生饮食习惯
m 173 168 y n 187.8cm 男性,喜爱体育锻炼,没有良好的卫生饮食习惯
M 167 156 Y y 180.6cm 男性,喜爱体育锻炼,有良好的卫生饮食习惯
m 171 168 n n 183.1cm 男性,不喜爱体育锻炼,没有良好的卫生饮食习惯

1.1.4 PTA提交列表及说明

1.答案错误:在分支结构中缺了一部分导致答案错误;
  解决办法:刚开始认为分支结构里的内容写错了,于是把分支结构重新写了一遍,提交后答案还是出现错误,就重新理清分支结构,检查分支结构里的逻辑,发现缺了一部分内容后,重新补上,最后才显示答案正确。

1.2 有多少位是7? (40分)

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

输入格式:
一个4位数的整数

输出格式:
该整数中7的个数

输入样例:
在这里给出一组输入。例如:

4757
输出样例:
在这里给出相应的输出。例如:
2

1.2.1 数据处理

数据表达:所用变量:x,a,b,c,d,n,a1,b1,c1,d1;这些变量的值的来源:x是输入的值, a = x / 1000, b = (x - a * 1000) / 100, c = (x - a * 1000 - b * 100) / 10, d = x - a * 1000 - b * 100 - c * 10, a1是根据a的值确定的,b1是根据b的值确定的,c1是根据c的值确定的,d1是根据d的值确定的,n = a1 + b1 + c1 + d1;类型:都为整型(int)。
数据处理:数据用到的表达式:a = x / 1000,b = (x - a * 1000) / 100,c = (x - a * 1000 - b * 100) / 10,d = x - a * 1000 - b * 100 - c * 10,a1 = 1,a1 = 0,b1 = 1,b1 = 0,c1 = 1,c1 = 0,d1 = 1,d1 = 0,n = a1 + b1 + c1 + d1;流程结构:分支结构。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
4757 2 只有个位与百位上为7
3577 2 只有个位与十位上为7
2779 2 只有十位与百位上为7
7657 2 只有个位与千位上为7
5777 3 只有个十百位上为7
7767 3 只有个百千位上为7
7778 3 只有十百千位上为7
7777 4 个十百千位上都为7
0000 0 个十百千位上都为0

1.2.4 PTA提交列表及说明

1.编译错误:第35行将%d写成了%n,第5行scanf ("%d",&x);中至少存在一个中文符号;
  解决办法:在第一遍检查中发现第35行将%d写成了%n,后将%n改成了%d,提交后还是显示编译错误,编译器上提示第6行5列的‘a’前期待出现‘)’,将‘)’重新用英文打出后还是显示编译错误,后来干脆把("%d",&x)重新用英文打出,最后才显示答案正确。

2.代码互评(5分)

同学代码截图

自己代码截图

1.尹志成同学的代码中运用到for语句和if语句计算所求值;
2.阳榕同学的代码中运用到while语句和if语句计算所求值;
3.我的代码只运用了if-else语句去计算所求值,上面两位同学的计算方式与我的不一样,代码比我的更简便。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第三周 4天 156 for语句 在综合表达式中,不知道为什么不能用"[ ]"
第四周 2天 169 函数的定义和调用 函数的定义和调用的格式不太懂
第五周 3天 192 分支结构if-else语句和字符型(char) 有同学作业中运用到的没学过的知识不太理解

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

时间 博客字数 代码行数
第一周 638 12
第二周 562 97
第三周 2058 156
第四周 1737 169
第五周 2520 192

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

3.3.1 学习内容总结

3.3.2 学习体会

1.本周学习了分支结构,将之前所学的又增加了一点内容——运用if语句的嵌套解决实际问题,简单的四则运算,一种数据类型——字符型(char),逻辑运算符——逻辑与(&&)、逻辑或(||);
2.感觉本周所学的内容还蛮容易的,作业完成速度加快了一点,但在做PTA上的作业中的第二个题时,花费了不少时间,问题就出在中间有一部分分支结构丢了下半部分;
3.对比其他同学的做题方法,学习他人的优点;
4.对不熟的地方要多加练习。

原文地址:https://www.cnblogs.com/zhge/p/14003169.html