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中有些题目我无法将其用逻辑关系转化为代码,所以我亟需进行这方面的练习。
- 代码需要多打,不能简单看着书本,重在实践。