这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11526 |
我在这个课程的目标时 | 学好分支结构为后面更深入的学习打下基础 |
这个作业在那个具体方面帮助我实现目标 | 一些分支结构的语句和字符型数据的输入 |
参考文献 | C语言程序设计,C Primer Plus和网课 |
学号 | 20209108 |
1.PTA实验作业
1.1题目名1
身高预测。
每个父母都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设 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.1.1数据处理
- 数据表达:运用了fH,mH,oH,x,y,sex,sports,diet。其中fH,mH,oH,x,y是浮点型变量,而sex,sports,diet是字符型变量。fH,mH,oH,x,y,是通过输入得来的,而sex,sports,diet是选择得来的。
- 数据处理:
<1>用到的表达式有oH=(fH0.923+mH)/2.0; x=oH0.02;y=oH0.015;oH=(fH+mH)0.54;
<2>流程结构:分支结构,顺序结构。
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
F,182,162,N,Y | 167.5 | 样例 |
M,178,172,Y,N | 164.2 | 男性用公式 oH=(fH+mH)0.54,然后爱运动不爱干净用 oH=(fH+mH)0.54 |
F,187,162,Y,N | 192.2 | 女性用公式oH=(fH0.923+mH)/2.0; 然后爱运动爱干净用公式 oH=(fH+mH)0.54计算得来的 |
M,175,170,N,Y | 189.1 | 男性用公式 oH=(fH+mH)0.54,然后不爱运动 爱干净 y=oH0.05得来的 |
F,180,164,N,Y | 168.4 | 女性用公式oH=(fH0.923+mH)/2.0,然后不爱运动爱干净 y=oH0.05得来的 |
1.1.4 PTA提交列表及说明
- 出现的问题及改正:
<1>其实我的代码不像截图那样只有一次就对了,第一次我的思路都不对,我怎么运行都不对,后来就翻书看网课才有思路。
<2>第二次我的代码没有进行选择,没有考虑到大小写然后用||来把大小写及选择搞出来的。
<3>第三次我的代码将if后面加了一个;,然后它也运行到了每一步没有进行选择。后来把;删掉就好了。
1.2题目2
从键盘读入一个4位数的整数,求该数中有多少位是7
1.2.1数据处理
- 数据表达:变量有 y,digit1,digit2,digit3,digit4,sum。其中它们都是整数型变量,y是输入的,digit1,digit2,digit3,digit4,sum是用公式算出的。
- 数据处理:
<1>用到的表达式: digit1=y%10;digit2=(y/10)%10;digit3=(y/100)%10;digit4=y/1000;sum=sum+1;
<2>流程结构:分支结构,选择,顺序结构;
1.2.2实验代码截图
1.2.3造数据测试
输入数据 | 输出数据 | 说明 |
---|---|---|
4757 | 2 | 样例 |
3247 | 1 | 个位数用 digit1=y%10然后循环下去 |
3371 | 1 | 十位数用 digit2=(y/10)%10 |
4777 | 3 | 个位十位百位都有7那么用 digit1=y%10;digit2=(y/10)%10;digit3=(y/100)%10; |
4433 | 0 | 无7那么按顺序下来没有用到求位数的式子 |
1.2.4 PTA提交列表及说明
- 出现的问题及改正:
<1>第一次没有看清题是一个数,而我用了a[3]数组,然后就不对。希望以后能看清题,后来翻阅实验数找到了表达位数的方法。
<2>第二次忘记给sum赋值,后来就给sum赋值为0就ok.
<3>然后然后一直出现空白答案,后来发现是少了一个&,就加了一个&。
<4>把中间的一个等于号打成了赋值号,在后面加一个+就可以了。
2.代码互评
-
陈博同学的代码
-
同学的代码
-
我的代码
<1>陈博同学的代码很优秀,也很简洁,他调用了数学函数运用了幂函数,很不错的将前几天学到的知识联系起来,对比我的作业就显得比较繁琐在,也没有将前面的知识灵活运用,向陈博同学学习,希望未来继续加油!
<2>另一个同学的代码作业真的很优秀,没有调用函数却依旧那么简洁也挺容易令人懂的,他和陈博同学一样将前面学到的知识联系起来,非常的好,运用了循环结构,使思路更加的让人理解。
<3>前面两位的代码确实优秀,对比我的就暗淡无光,但我觉得我的代码也是挺好的,我复习到了前面位的知识,但我会继续的向另两位同学学习靠拢。
3.学习总结
3.1学习进度调
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
---|---|---|---|---|
11.15—11.20 | 13小时 | 255 | 学了分支结构的if else,elseif等语句,学了字符型数据的输入及用法 | 有些字符型函数没有搞的很明白 |
11.8—11.14 | 14小时 | 235 | 调用函数,生成乘方表和阶乘等 | 对函数的调用还不是很明白 |
11.1—11.6 | 10小时 | 195 | 学到了循环结构,掌握了for循环语句等 | 有时格式不知道怎么解决 |
10.25—10.31 | 13小时 | 175 | 华氏温度的求法等 | 表达式的应用 |
10.18—10.24 | 15小时 | 40 | Hello World!等简单句 | 无 |
3.2累积代码行和博客数
3.3学习内容总结和感悟
3.3.1学习内容总结
3.3.2学习体会
<1>这周我们学习了新的内容——分支结构,学的内容也应该比以前更深入一些了,但我们的效率却比以前更加高效了。其实我觉得老师的教学方法挺独特的,也很喜欢她的教学方法做中学,其实这样能发现好多问题,也因为自己做过更加深入自己的心,也记得很清楚。
<2>但随之而来的是出现了很多问题,我有一点不太懂,但下来我会去听网课,我希望未来的会更好吧!
<3>和别的同学对比一下发现他们都好优秀,只是我一直呆在自己的舒适区,我希望我未来能够打破自己的舒适区,对自己狠一点。
<4>还有一点最重要的一点,一定要提前预习,为上课做准备,加油!!!