C语言I博客作业05
1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11527 |
这个作业的目标 | <依旧是让我们继续对学习过的内容进行回顾和总结,让我们养成良好的学习习惯> |
学号 | <20209128> |
一、本周教学内容&目标
第3章 分支结构 3.1-3.2 使学生熟悉多分支结构、字符型数据类型和逻辑运算符。
二、本周作业头
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11527 |
这个课程的目标是 | <让我们在实践中逐步掌握程序设计的思想和方法,培养问题求解的能力> |
这个作业在那个具体方面帮助我实现目标 | <帮助我学会自我检讨与对学习内容的总结和回顾> |
参考文献 | <c语言程序设计Ⅱ,cprimer plus> |
三、本周作业
1.PTA实验作业
2.代码互评
3.学习总结
四、作业格式
1.PTA实验作业(20分/题)
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数据处理
数据表达:本题运用了双精度浮点型变量"faHeight,moHeight,h"以及新引入的字符型变量"Sex,sports,diet"其中除变量h以外,所以定义的变量的值均由运行时自行赋予的值,而变量h的值由剩下5个变量综合决定。
数据处理:这一道题目则使用了本周新学习的分支机构的理解运行的。所运用的新表达式如if(Sex= =' F '||Sex= =' f ')等相似的表达运行,其余表达式均为输入,输出,赋值语句,而流程结构则利用分支机构为主体运行。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
m 180 160 n y | 186.4cm | 接近190cm |
m 160 170 n n | 178.2cm | 远小于190cm |
m 180 180 y y | 201.3cm | 远大于190cm |
1.1.4 PTA提交列表及说明
说明
1.答案错误:第一次错误因为乱使用了if -else分支机构,导致程序每次运行到对于最后一步是否对数值再一次计算的判断结构被省略,所以程序这么该,答案都是错的
2.答案错误:第二次则因为重新打程序的时候对赋值的顺序搞错了,将字符型赋值到了浮点型变量中,程序无法编译,导致程序无法运行。
3.答案错误:这一次把判断性别的函数写错了,但是还有一个错误没被发现,但程序可以顺利运行,但是答案不对
4.答案错误:因为读题不仔细,在赋值语句scanf中忘记给每一个赋值符号间打空格符号,导致答案总是不对.
1.2 题目2
有多少位是7?
从键盘读入一个4位数的整数,求该数中有多少位是7
1.2.1 数据处理
数据表达:用了哪些变量,这些变量的值是怎么来的,类型是什么。本题运用了整数型变量 n和sum,n的值是由程序运行值赋予的四位数,且为整数,sum的值由n中有几个7决定,但是在运行前以及赋予sum=0.
数据处理:本题运用了if语句,其表达式有'n%10= =7','n/10%10= =7', 'n/100%10= =7' ,'n/1000= =7'这四个表达式,通过它们来计算出n中有几个数字7,并使sum的值增加或不变。其流程结构则为先输入n的值,在通过if结构条件的表达式决定sum是否增加,在运行这4给表达式时间sum的值输出。从而显示本题答案。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
7171 | 2 | 该数有2个数字7 |
7777 | 4 | 该数有4个数字7 |
7774 | 3 | 该数有3个数字7 |
1.2.4 PTA提交列表及说明
说明
1.答案错误:第一次做题时是以if (a= =7,b= =7,c= =7,d!=7){printf ("sum=4");}这样排列组合,将所有类型写出来,进行计算数字中有几个7的,结果无论输入什么数字,答案总是2
1.答案错误:第二次,则使用了本周实验课上第一天的一个写法,但是它的写法是与本题的逻辑不同的,所以也错误了。
1.部分正确:这次使用了求余符号%才能解决的问题,但是由于粗心将n/1000==7写成了n/1000%10,所以只是部分正确。
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
代码1
同学代码截图
自己代码截图
不同点1:他的代码对这道题的计算方式,条件都细细的分化出来,
整个代码能够容易让人理解它的运行方式,但是我的则比较简洁,但是可能更加抽象一些。
不同点2:对于代码行数而言,还是我的更加简短一些,所以我还是更加喜欢自己的代码。
代码2
同学代码截图
自己代码截图
说明
不同点1:他的怎么样使用计算机的语言表达对于题目的要求 十分的熟练,对于每一步的条件也写的十分详细,而我的则仅仅是能够使程序正确运行,这一点我应该学习他。
不同点2:他的代码使用的是将一个个情况都罗列出来,我的则是运用整数型,利用求余符号和/从而判断数字中个十百千的数字十分符合条件。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周(10.19~10.25) | 20> | 120 | 第一周我学习了制作简单的文字编程,以及c语言的基本字符和命令。如printf,return 0 等基本字符 | 该周问题已解决 |
第九周(10.26~11.1) | 24 | 180 | 第二周我学会了如何编程制作能够进行加减乘除的小程序,并且学习了使用比单精度更高级的双精度符号,同时也学会了定义一个函数来求所需的数据 | 该周问题已解决 |
第十周(11.2~11.8) | 26 | 260 | 这一周我学会了使用循环语句“for( )”来进行更加复杂的程序,从而解决分段的函数问题,以及多个数据的求和. | 该周问题已解决 |
第十一周(11.2~11.8) | 29 | 280 | 这一周我学会了调用数学函数如pow幂函数来解决乘方表和阶乘表生成的问题,以及学会了自己调用定义一个新函数来解决一些较复杂的数学问题。 | 对于一些几何体计算的函数表达依旧难以理解 |
第十二周(11.8~11.14) | 33 | 350 | 这一周我学会了使用了分支机构解决多条件的数学问题,同时也学会了使用了字符型变量来解决问题。 | 有时候分支机构停止运行在某一个部分,但是不知道该怎么处理只能换这个写法。 |
3.2 累积代码行和博客字数(5分)
周/日期 | 博客字数 | 代码行数 |
---|---|---|
第八周(10.19~10.25) | 840 | 120 |
第九周(10.26~11.1) | 980 | 180 |
第十周(11.2~11.8) | 1500 | 260 |
第十一周(11.2~11.8) | 1650 | 280 |
第十二周(11.9~11.16) | 1750 | 330 |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
这一周,虽然学习的新知识不是很多,但是还是非常重要的,但是其难度也有所提升,感觉到写的题目也越来越难,但是也激发了我对c语言的学习热情,同时感觉自己写博客园也越来越流畅了,不像之前一样,写的慢慢悠悠。同时希望下一周也能学习到更加好玩的知识叭。