C语言I博客作业05

这个作业属于那个课程 <C语言程序设计II>
这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11529
我在这个课程的目标是 理解分支结构并熟悉多分支结构、字符型数据类型和逻辑运算符
这个作业在那个具体方面帮助我实现目标 让我们对pta上的作业进行分析与说明,代码互评以及最后的学习总结
参考文献 C语言程序设计、百度

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

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

用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!”。
输入格式:
输入一个百分制成绩(整数)。
输出格式:
输出对应等级。输入成绩不合理时,输出提示信息“Input error!”。
输入样例:
85
输出样例:
B
输入样例:
120
输出样例:
Input error!

1.1.1数据处理

数据表达:整数类型int;字符型函数表达scanf()、printf()
数据处理:运用了if-else语句,关系表达式;条件表达式;逻辑表达式grades>=90&&grades<=100···

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
95 A 成绩等级为A
80 B 成绩等级为B
70 C 成绩等级为C
60 D 成绩等级为D
10 E 成绩等级为E
-10 Input error 输入成绩不合理
110 Input error 输入成绩不合理

1.1.4 PTA提交列表及说明


1、编译错误:程序一开始未编译正确而出错
2、运行超时:我所写的程序所运行的时间没有在规定时间内运行结束,所运行的时间太长,可能是我程序运行的步骤过多。后经过反复思考,删去了一些不必要的步骤,使得程序变得稍简单一些,同时也符合思路逻辑。
3、答案错误和格式错误:在输出语句那里习惯性的加上"Enter:",导致输出的结果中有Enter的存在,与题目的输出样例不相符,后删掉输出语句中Enter后,答案与格式正确。

1.2C程序设计 实验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.2.1 数据处理

数据表达:整数类型int;字符型char;字符型函数表达scanf()、printf();字符型变量sports、diet、sex
数据处理:运用了省略else的if语句、逻辑表达式sports=='Y'||sports=='y'、赋值表达式x=height*0.02;y=height*0.015

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
F 187 160 N Y 168.8cm 女性预测身高为168.8cm
F 178 165 n Y 167.1cm 女性预测身高为167.1cm
M 180 167 N Y 190.2cm 男性预测身高为190.2cm
M 178 159 n y 184.7cm 男性预测身高为184.7cm
M 175 158 N y 182.5cm 男性预测身高为182.5cm

1.2.4 PTA提交列表及说明


1、编译错误:①一开始思路没捋清就动手写了,导致好几次都出现编译错误。②在输出男性身高时,我直接复制粘贴了题目中的公式而忽略了乘号*的变换而导致编译出错。③在if语句中,一开始不知如何判断是否,该怎么把好几个是否条件写进去。后经过上网搜索询问大神以及自己翻阅书籍才有了一些思路,同时在DEV C++上面经过了多次修改编译
2、运行时错误:未考虑到后面是小数,而用了int,应该用双精度类型double,后仔细看题才发现问题所在。

2.代码互评(5分)

同学代码截图


自己代码截图



同学代码与自己代码不同之处:
1、在求五分制成绩grade输出过程中,同学一开始定义的变量是score,而我定义的变量是grades,都是后面紧接执行if-else语句;同学代码中将字母A、B、C、D、E用字符型char进行了定义,而我没有,两者代码都简洁明了。
2、在求有多少位是7的题目中,同学代码将一个四位数的四个位分别用abcd来定义,稍微将程序复杂化了,但是思路逻辑清晰明了,两者代码都最后运用了if语句,而我的中间还运用到了for循环结构。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
第三周 三天 130 使用for循环语句实现循环程序的设计 有时程序中表达式写不对而出错
第四周 三天 135 调用和定义函数 对调用函数不是很清楚以及如何去定义函数
第五周 三天 148 分支结构if-else语句、逻辑运算符的运用 有部分函数的功能以及准确的调用自己所定义的函数不太清楚

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

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

3.3.1 学习内容总结

3.3.2 学习体会

1、在本周的学习过程中,让我进一步的了解了C语言的一些语法结构和逻辑运算符的运用,也更加清楚了自己哪方面存在不足
2、老师上课讲的很细致,但有一些我不太理解的地方,我会通过课下查找资料和请教同学去解决
3、在每次完成PTA上老师布置的作业后,在解题过程中都有了不小的收获,在每次编程和敲代码过程中都需要我们足够的耐心与细心,运用所学的知识去完成每一道题。
4、我们要学会主动地去学习,而不是被动地去学习。这样才会有更大的收获,知识才会深刻地被理解,转化为自己的东西。

posted @ 2020-11-19 21:16  花开宿语  阅读(136)  评论(4编辑  收藏  举报