C语言I博客作业05
| 这个作业属于那个课程 | C语言程序设计II |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11531 |
| 我在这个课程的目标是 | <第3章 分支结构 3.1-3.2 使学生熟悉多分支结构、字符型数据类型和逻辑运算符> |
| 这个作业在那个具体方面帮助我实现目标 | <通过pta的作业巩固所学到的东西,将多分支结构熟练掌握> |
| 参考文献 | <C语言程序设计> |
1.PTA实验作业

1.1 题目名:有多少位是7?
题目内容描述:从键盘读入一个4位数的整数,求该数中有多少位是7
1.1.1数据处理
数据表达:定义了整型变量a, b, c, d, number, sum;a, b, c, d为数字的个十百千位;number为输入的数字;sum为7的个数。
数据处理:表达式:a = number % 10;b = (number % 100) / 10;c = (number % 1000) / 100;d = number / 1000;流程结构:for语句分支结构;
1.1.2实验代码截图

1.1.3 造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| 1234 | 0 | 个十百千位没有七 |
| 4477 | 2 | 个十百千位有二个七 |
1.1.4 PTA提交列表及说明

提交列表说明:
if结构中的语句忘记打分号,即“sum++”忘记加“;”。
1.2 题目2
身高预测。
每个父母都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设 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;所求身高定义为height;都定义为double类型。
用char定义字符变量 sex, sports, diet;题目用大写或小写表示判断条件,用逻辑运算符||表示或。
数据处理:表达式:性别男:height = (faHeight + moHeight)*0.54*1.02*1.015;height = (faHeight + moHeight)*0.54*1.02;height = (faHeight + moHeight)*0.54*1.015;height = (faHeight + moHeight)*0.54;
性别女:height = (faHeight * 0.923 + moHeight)/2 * 1.02 * 1.015;height = (faHeight * 0.923 + moHeight)/2 * 1.02;height = (faHeight * 0.923 + moHeight)/2 * 1.015;height = (faHeight * 0.923 + moHeight)/2;
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| F 185 172 N Y | 173.9cm | 女生,不喜欢运动,饮食规律 |
| F 185 172 Y N | 174.8cm | 女生,喜欢运动,饮食不规律 |
| F 185 172 N N | 171.4cm | 女生,不喜欢运动,饮食不规律 |
| F 185 172 Y Y | 177.4cm | 女生,喜欢运动,饮食规律 |
| M 172 163 N Y | 183.6cm | 男生, 不喜爱运动, 饮食规律 |
| M 172 163 Y N | 184.5cm | 男生 喜爱运动 饮食不规律 |
| M 172 163 N N | 180.9cm | 男生 不喜爱运动 饮食不规律 |
| M 172 163 Y Y | 187.3cm | 男生 喜爱运动 饮食规律 |
1.2.4 PTA提交列表及说明

提交列表说明:
部分错误,if的判断条件只有大写没有小写,没有使用逻辑运算符||表示或
2.代码互评
同学代码1:

自己代码:

1.该同学比我多定义了两个变量用于储存中间计算值
2.该同学没有将所有情况都考虑到,所有情况应有八种
同学代码2:

自己代码:

1.该同学使用了while,而我使用的if-else
2.该同学的代码更加简短,比我的要短,要简洁
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 第一周 | 7h | 45 | 显示hallo world,数据类型,求摄氏温度 | 对一些字符的含义不理解 |
| 第二周 | 12 h | 98 | 学会一些基本的运算符,和printf的格式 | 对数据类型的选择不太清楚 |
| 第三周 | 21 h | 146 | 学会了if-else语句,scanf的格式,库函数的调用,for语句 | 不太理解预算符的运算法则 |
| 第四周 | 26 h | 178 | 定义与调用自定义函数 | 不清楚有些符号的作用 |
| 第五周 | 29h | 236 | 多分支结构、字符型数据类型和逻辑运算符 | 对省略else的结构不太理解 |
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
1.新的一周的学习,学习了多分支结构,字符型数据,逻辑运算符;对三大结构的分支结构做了深入了解,认识了新数据类型和新的运算符
2.多分支比起双分支结构要难一些,要对每一个语句运行的条件拥有更好的分析
3.发现了一些自己的问题,每次我感觉自己对新的东西理解足够了,但是做题时又会出现各种各样的问题,今后会多实践,多敲敲代码,刷题,不再纸上谈兵。

浙公网安备 33010602011771号