C语言I博客作业07

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11584
这个作业的目标 更加细化的学习C语言课程,对于C语言的了解越来越深,拓展循环语句应用
学号 20209097
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11584
我在这个课程的目标是 更加了解C语言课程,对于编程的理解更深,
这个作业在那个具体方面帮助我实现目标 拓展了循环语句只是点,明白了while与for与do...while..之间的差别与联系,循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。
参考文献 C Primer Plus 和C语言程序设计以及场外求助

1.PTA实验作业

1.1 :7-2 野王认证

小刘刚打上了巅峰赛2500 分, 就迫不及待地向他们室友发起了solo(单挑

他们会选择不一样的英雄,每个英雄都只有两个属性(血量,攻击力 ), 小刘有很多皮肤 会给他带来增益( 减损)效果(增加或者减少血量和 攻击力)

然后小刘和他的室友进行 solo (单挑), 小刘先手, 每次使对方血量减少自己攻击力 数值, 当一方血量小于等于 0 时被击败,小刘自认为自己能成为认证野王, 现在想让你帮助他判断 自己能否成为

认证野王。

1.1.1数据处理

数据表达:运用了许多的整型变量,lh,la,sh,sa,pa,ph,i都由赋值所得,x,y,z由前面的整型数算术所得。

数据处理:运用了赋值运算符,算术运算符,逻辑运算符,if...else...语句,while语句;

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
2 1 2 1 3 0 4 小刘的英雄血为2,攻击力为1,室友的英雄血为2,攻击力为1,皮肤加成血3,攻击力0,击败室友4次
2 1 2 2 0 0 I'm too dishes! 小刘的英雄血为2,攻击力为1,室友的英雄血为2,攻击力为2,皮肤加成血0,攻击力0,小刘不可以击败任何一个室友
4 4 2 1 0 0 The king of the wild certification! 小刘的英雄血为4,攻击力为4,室友的英雄血为2,攻击力为1,皮肤加成血0,攻击力0,小刘能击败无限多的室友成为认证的野王
4 2 2 4 0 1 The king of the wild certification! 小刘的英雄血为4,攻击力为2,室友的英雄血为2,攻击力为4,皮肤加成血0,攻击力1,小刘能击败无限多的室友成为认证的野王
2 1 2 1 10 0 11 小刘的英雄血为2,攻击力为1,室友的英雄血为2,攻击力为1,皮肤加成血10,攻击力0,击败室友11次
... ... ...

编程正确。

1.1.4 PTA提交列表及说明

2分:实验其他的思路,错误;解决:回归之前的方案。

0分:编译错误,一些小地方由于思路的纠缠而造成“;”未打;

5,6,7分:有些情况考虑的不周全,未能达到要求,

8分:不断地调试和流程思路图,以及场外求助,终于解决了问题。

1.2 :7-4 猜数字游戏

猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

1.2.1 数据处理

数据表达:运用整数型变量a,b,c,n,其中a,n,c,为赋值所得,b数为循环变量。

数据处理:运用赋值表达式,逻辑运算符,if...else...语句,while语句。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
58 4 70 50 56 58 60 -2 Too big , Too small ,Too small , Good Guess! 运行4次,随机数为58,输出正确
60 3 70 65 60 79 -1 Too big ,Too big , Lucky You! 运行3次,随机数为60,第三次为60,输出正确
60 3 60 69 71 -1 Bingo! 运行3次,随机数为60,第一次为60,输出正确
60 3 58 61 59 60 Too small ,Too big ,Too small , Game Over 运行3次,随机数为60,第三次为59,输出正确
60 5 59 -1 69 Too small ,Game Over 运行3次,随机数为60,第二次为-1,输出正确
... ... ...

编程正确

1.2.4 PTA提交列表及说明

开始时进入的死循环,没看清题目,用了#include<time.h>与#include<stdlib.h>两个头文件,偏离了题目。

思路混乱,在不停的修正中不断地遗落其他需要的条件,而导致部分正确,不断地丢失数据,或造成数据混乱;

通过思路的清理和不断地调试;终于解决了问题。

2.代码互评

我的代码:

陈兴同学的代码:

我与陈兴同学的代码相比,我的代码比较简便,他比我多了一个int flag;我的的流程比较清晰;

我的代码:

2班班长李莘乐同学的代码

我借鉴了李同学的思路,但与李同学的代码有很多不同,他有他的打代码习惯,如a+=b,与我的a=a+b来个死一样的,对我来说有点不习惯,还有goto前往我还是在李同学带啊中看到,李同学的代码有很多的地方值得我学习。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 所学的知识点简介 目前比较迷惑的问题
第八周/10.19~10.25 10小时 100 开始了解了软件工程,学会了使用基本的c语言和markdown语法。 刚刚接触有很多的迷惑,只会机械的模仿
第九周/10.26~11.1 12小时 250 常量,变量,表达式,赋值等,数据表达与流程控制 只知道机械编码,没弄懂语句,语言的意义
第十周/11.2~11.8 14小时 370 开始细学流程控制和数据表达,学了判断,for语句 深入了解了,更对函数,表达式等意义的模糊
第十一周/11.9~11.15 16小时 450 函数的参数的使用 多重参数的更变很复杂,对于参数不是很了解,仅仅用于使用
第十二周/11.16~11.22 20小时 600 分支结构,字符型char,逻辑运算符 对于一些与越来越深的学习出现了很多问题,很多地方开始出现矛盾,int,double,%d,%lf,%f之间的差别与冲突
第十三周/11.23~11.29 24小时 800 分支语句的拓展 数组a[],分支结构switch语句对于c语言的投入越来越多了,也有更多的问题需要解决
第十四周/11.30~12.6 24小时 900 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题 循环的流程不是很了解,break语句的使用有问题

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

对于软件工程这个专业越来越感兴趣,一个问题可以用代码来解决,可以简单,可以复杂,对于我来说,我打和代码与其他人打的代码有差距,我用复杂的程序解决一个问题时,他们能适应简便的代码解决问题,我还需要更加努力的学习,代码的编写过程中容不得一丝的错,失之毫厘,差之千里,一个小地方的错误带来的时整个代码的归零。我还需要更加的认真的,仔细的编写代码,期待我做出程序的那天。

posted @ 2020-12-03 22:31  挽殇  阅读(110)  评论(8编辑  收藏  举报