郭雷雨

导航

 
这个作业属于那个课程 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>还有一点最重要的一点,一定要提前预习,为上课做准备,加油!!!

posted on 2020-11-18 23:08  郭雷雨  阅读(142)  评论(10编辑  收藏  举报