这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530 |
我在这个课程的目标是 | 熟练掌握多分支结构,学习char型 |
这个作业在那个具体方面帮助我实现目标 | 清晰自己目前的学习情况,对比他人代码取长补短 |
学号 | 20208946 |
1.PTA实验作业(20分/题)
1.1 题目1 7-1 C程序设计
用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是输出值。
数据处理:通过多分支结构和if-else语句依次判断条件。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
59 | E | score=59时,grade=E |
98 | A | score=98时,grade=A |
120 | Input error! | 超出score范围,grade出错 |
77 | C | score=77时,grade=C |
83 | B | score=83时,grade=B |
66 | D | score=66时,grade=D |
1.1.4 PTA提交列表及说明
答案错误:逻辑运算符使用错误,以及printf后等级输入错误。
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数据处理
数据表达:定义整型变量feHeight、moHeight、A,分别输入的父亲身高、输入母亲身高、输出的孩子身高预测,字符型变量sex、sports、diet,分别储存的数据为性别、运动情况、饮食习惯。
数据处理:使用多分支结构和if-else语句首先判断出性别然后选择运动情况和饮食习惯输出出孩子身高预测。
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
F 165 162 N Y | 159.5cm | 父亲身高为165cm,母亲身高为162cm所生下的女孩不喜爱体育锻炼,但具有良好饮食习惯的身高预测为167.5cm |
F 177 165 N N | 164.2cm | 父亲身高为177cm,母亲身高为165cm所生下的女孩不喜爱体育锻炼,也没有良好饮食习惯的身高预测为164.2cm |
M 177 165 Y Y | 191.1cm | 父亲身高为177cm,母亲身高为165cm所生下的男孩喜欢体育锻炼,且有良好饮食习惯的身高预测为191.1cm |
M 172 168 Y Y | 190.0cm | 父亲身高为172cm,母亲身高为168cm所生下的男孩喜欢体育锻炼,且有良好饮食习惯的身高预测为190.0cm |
1.2.4 PTA提交列表及说明
1.编译错误:输入变量时漏掉了&。
2.答案错误:将A定义为了整形变量。
3。运算时错误:使用了单精度浮点型float导致答案一直错误。
2.代码互评(5分)
同学代码截图
自己代码截图
1.第一张代码与我的算法一致,都是依次使用多分支结构和if-else语句进行一次次筛选,但总感觉每次都要用到printf输出十分麻烦并且看上去也不简洁。
2.第二张代码相比我和第一张代码简洁清晰许多,使用了switch语句和嵌套结构。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 15小时 | 50 | 如何打开编译器,编译Hello world | 无 |
第九周 | 27小时 | 300 | 学习printf()和scanf()和基本运算符 | 不明白scanf()为什么需要使用& |
第十周 | 30小时 | 450 | 学会了if-else语句和while循环 | 每次看视频就学会了,但自己写程序就一大堆错误 |
第十一周 | 25小时 | 300 | for语句循环和自定义函数 | 程序很复杂感觉有很多无用的输入 |
第十二周 | 37小时 | 580 | 学习了分支结构、字符型数据、switch语句 | 多重嵌套循环经常出现各种错误 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
上课老师也重申了学习程序语言的目的和进度,感觉对于这门课程的迷茫散去了一点,而且对于作业也可以更好的完成,在课堂上学习的知识在课后努力巩固,但也要多复习之前的基础知识,打牢基础。