C语言I博客作业07

1.作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2/
这个作业要求在哪里 <<https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585 >>
这个作业的目标 <回顾以往知识点,熟悉并运用各种语句(如while,do while语句)的使用解决循环问题并学会进行学习总结,从别人的作业中吸取经验>
学号 <20209124>

一、本周教学内容&目标

第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。

二、本周作业头

这个作业属于哪个课程 <C语言程序设计II>
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585
我在这个课程的目标是 <学会编程,巩固所学知识提高实际编程能力,做到条理清晰有理有据并且通俗易懂>
这个作业在那个具体方面帮助我实现目标 <能够理解代码中变量的实际意义以及类型等,并具有时长限制能够更好地督促自己学习,同时提高自己的学习能力也更好地掌握分支结构的使用,更好地了解并利用while,do while语句解决循环问题>
参考文献 <《c语言程序设计实验指导》>

三、本周作业

1,PTA实验作业

2,代码互评

3,学习总结

四、作业格式

1.PTA实验作业

排名图片

1.1 野王认证

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

输入格式:
一共三行

第一行两个整数 h, a,代表小刘英雄的血量, 攻击力

第二行两个整数 H,A,代表室友英雄的血量, 攻击力

第三行两个整数 ph, pa, 代表皮肤增加的血量,攻击力

输出格式:
如果小刘能击败无限多的室友成为认证的野王, 则输出“The king of the wild certification!”;

否则如果小刘不可以击败任何一个室友, 则输出 “I'm too dishes!”;

否则输出一个整数, 表示小刘击败的室友数量,

1.1.1数据处理

数据表达:使用整型函数定义h, a, H, A, ph, pa,  count = 0, t;并且相关数据进行了赋值,由题意对数据加以判断并利用while语句和if-else语句进行运行,从而得出最后答案来
数据处理:使用了新学的while语句进行处理,对于不确定的循环次数进行判断从而是否进行程序的运行处理,再将if-else语句嵌入其中,以达到题目目的,输出最后的答案
**伪代码**
Begin**程序开始**
输入 h, a, H, A, ph, pa,  count = 0, t
h ←h + hhh;
a ←a + aaa;
x ←hh;
while 1{
if a >= H 则 The king of the wild certification! 返回 
否则 
x = x - a
if x <= 0 则  x = hh  击败室友次数加一  继续 
否则
h = h - A
if h <= 0 则   返回 
}
否则
if  h <= 0 && count == 0 则  I'm too dishes! 
否则 
 printf 答案 返回 
End (算法结束)

1.1.2实验代码截图

1.1.3造测试数据

按照以下表格,输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明

输入数据 输出数据 说明
2 1 , 3 1 , 3 0 2 小刘只能打败2个室友
10 1 , 10 10 , 3 0 I'm too dishes! 小刘不行
10 10 ,3 1 , 3 0 The king of the wild certification! 小刘是野王

1.1.4 PTA提交列表及说明

根据PTA提交列表,简要描述调试程序碰到的问题及解决办法

提交列表说明:

1.编译错误:逻辑无错误,有些语句后面缺乏必要的符号,偶尔缺少必要的符号等还将scanf语句后的;错误打成了中文符号,造成了本题的编译错误并且本题只有编译错误
2.解决方法:发现题目编译错误后仔细检查并在检查过程中发现了符号的错误,询问同学查询c语言相关书籍确认并改正过来后编译正确

1.2找出一批学生的最高分

本题要求编写程序,找出最高分。

输入格式:
输入在一行中给出一系列非负整数,其间以空格分隔。当读到负整数时,表示输入结束,该数字不要处理。

输出格式:
在一行中输出最高分。

1.2.1数据处理

数据表达:使用整型函数定义变量并使用while语句进行循环次数判断,再利用if语句嵌入其中最后利用printf语句输出最后的答案
数据处理:使用scanf语句进行赋值处理,在利用while语句的同时加入if语句,这样的处理使得代码长度大大缩短,得出的答案也更明确
**伪代码**
begin**程序开始**
输入a,b=0
条件为a>=0
如果a>b
则令b=a

1.2.2实验代码截图

1.2.3造测试数据

按照以下表格,输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明

输入数据 输出数据 说明
78 23 56 89 -5 89 说明这组数据的最高分为89
120 49 79 9 0 120 说明这组数据最高分为120
4 98 56 22 11 77 98 说明这组数据最高分为98

1.2.4 PTA提交列表及说明

根据PTA提交列表,简要描述调试程序碰到的问题及解决办法

提交列表说明:

1.运行超时:我改正后才发现两次运行超时的原因是同一个,前面一直修改的都是正确的,所以造成了两次超时,原因是由于未对if语句中令a=b后对a进行的赋值而产生了不该产生的错误
2.解决方法:我是通过查看同学代码解决问题所在的,但由于和同学代码所用方法不一样,因此是在交流方法中发现未赋值,改正过来后得出最后答案,最后编译正确

2.代码互评

找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图

自己代码截图

不同地方
1.同学定义的是srzrs和jg(不知道是啥意思),而我用的是最简单是n
2.同学的整体框架看起来和我差不多,但由于同学的英文使用看起来比我的更复杂(实际差不多)
3.同学在语句后使用了一个代换处理(srzrs=jg),而我则没有,我在前面的处理中就已经有进行了,最后使用return 0结束程序

同学代码截图

自己代码截图

不同地方
1.同学又使用了一些奇奇怪怪的英文代码,而我使用的又是一些较为通俗的代码
2.同学的一些处理让她的代码看起来更为复杂了,而我的比较简单,更通俗易懂点
3.同学使用了while语句,而我没有,我只用了if else 语句

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
8 17 120 Hello world和其变形
9 18 300 选择结构,求华摄温度 判断语句if else
10 19 400 循环结构 循环结构和循环体的区分
11 17 420 定义和调用函数,生成乘方表与阶乘表 学会定义函数,以及完整代码的格式和语句的顺序问题
12 18 400 if-else语句结构,多分支结构,以及掌握字符型数据类型和逻辑运算符的使用 语句结构的运用选择和程序的基本框架
13 27 430 switch语句的使用 对于switch里其他程序的镶嵌以及switch的灵活运用
14 30 450 熟运用while和do-while语句解决实际编程问题 对于判断次数无法确定

3.2 累积代码行和博客字数



3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

请回顾自己的本周的学习过程,描述学习感受,也可以提出你不理解的地方、对教师教学建议等。如果你有新的想法或者新的方法,请及时记录下来。

***1.学习了新的知识固然会感觉到开心,这周学习了while,do while语句,知识是不断积累不断进步的,难度在增加也是因为知识储备的增加

***2.打字慢的短板依然存在,打字快的人在输入文字以及代码中占有极其重要的优势,希望自己还能够继续加油

***3.真的的努力是别人看不见的,我看过很多人在其他课堂上打代码做pta作业,作业量固然很多,但对于其他课程我们也同样不能松懈,不能以60为目标

***4.学习过程中,一个题目思考了很久了,都不能得出答案的情况下就需要去寻找答案或者去探讨,不能坐以待毙,毕竟时间不等人

***5.代码的难度是因人而定,每个人虽然学习的课程一样但是知识储备并不一样,即使大致相同,或许换个适合自己的思路,更容易得出答案来

***6.代码pta实验作业中的解释真的不知道咋说了,因为问题都说了出来,还希望助教小姐姐能放一马啦

***7.年轻人的资本就是年龄,希望大家都能在适当的年纪里做最好的自己,加油!!

posted @ 2020-12-05 15:21  怕剧。  阅读(140)  评论(8编辑  收藏  举报