zoukankan      html  css  js  c++  java
  • C语言博客作业07

    作业头:

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585
    这个作业的目标 <熟悉使用while和do-while结构解决问题。>
    学号 <20209135>

    1.PTA作业

    排名图片:

    1.1

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

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

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

    输入格式:

    一共三行

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

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

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

    输出格式:

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

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

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

    输入样例:

    在这里给出相应的输入。例如:

    2 1
    2 1
    3 0
    
    输出样例:

    在这里给出相应的输出。例如:

    4
    

    为了游戏胜利,小刘一定会穿上皮肤, 而他的室友觉得小刘太菜, 不会穿上皮肤

    数据保证 h, a, H, A 不会出现负数, 皮肤的属性可以为负;

    1.1.1数据处理

    数据表达:定义整形变量h,a,H,A,ph,pa,count,n;h和a表示小刘的生命和攻击力,H,A表示室友的生命和攻击力,ph,pa分别表示皮肤的增益。count表示胜场数。
    数据处理:先给小刘的生命和攻击赋上皮肤带来的增益,对小刘攻击力和室友的生命进行比较,当小刘的攻击力大于等于室友的生命值,因为小刘一直先手,即小刘可以一直赢。否则用 
              do while来对其处理。直到小刘生命值小于等于0;
    
    伪代码:

    h←h+ph
    a←a+pa
    n←H
    if a≥H
    then printf "The king of the wild certification!"
    else while h>0
    do H←H-a
    if H≤0
    then count++
    H←n
    else
    h←h-A
    end
    if count=0
    then printf "I'm too dishes!"
    else "printf "%d",count"


    1.1.2实验代码截图

    1.1.3造测试数据

    输入数据 输出数据 说明
    2 1/2 3/3 1 The king of the wild certification! 小刘是野王,他的攻击力等于室友生命值
    8 2/5 2/3 2 5 小刘能击败五个室友
    5 2/5 3/1 0 I'm too dishes! 他一个室友也不能打败

    1.1.4 PTA提交列表及说明

    运行超时:把while中的计算中跳出循环的计数,没有表达出来。
    多种错误:取余式子写错了。忘记无限击败室友的情况了。
    部分正确:只写出了什么情况下发出  The king of the wild certification! 输出击败人数没有表达出来。
    

    1.2

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

    输入格式:

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

    输出格式:

    在一行中输出最高分。

    输入样例:

    在这里给出一组输入。例如:

    67 88 73 54 0 95 60  -1
    
    输出样例:

    在这里给出相应的输出。例如:

    95
    

    数据处理

    数据表达:定义x,y两个整形变量;x为输入的数值,y用来表示输入数值中较大的那个数。
    数据处理:用do while循环用if比较输入值x与y,当x大于y时数y=x。小于x时继续输入数值,继续循环,直到输入数为负值。输出最大分数。
    

    do scanf "%d",&x
    if x>y
    then y←x
    while x≥0
    end
    printf"%",y


    实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    67 68 69 70 -1 70 最大的数是70
    66 74 84 78 56 -2 84 最大的数是84
    51 45 63 82 98 -2 98 最大的数是98

    1.2.4 PTA提交列表及说明

    段错误:忘记在输入语句scanf输入数值时忘记加定位符&
    部分正确:执行while条件误用小于号代替大于号。提交部分正确。
    部分正确:在执行while的循环语句时条件中忘记加上等于零的情况.
    

    2.代码互评

    2.1

    同学的代码截图:

    自己的代码截图:

    1. 他定义了四个整形变量count,number,sum,x;而我定义了i,n两个整形变量和num,sum两个双精度浮点型变量
    2. 他用到了do while的循环语句;我用了for的循环语句
    3. 他只用了主函数;而我还调用了数学函数求根号下的值。

    2.2

    同学的代码截图:

    自己的代码截图:

    1. 他的代码定义了一个整形变量和三个字符型变量。我只定义了一个整形变量n。
    2. 他用到了while循环语句,我用的是dowhile
    3. 他用了if else if;我只用到了if else。

    3.学习总结

    3.1学习进度条

    周/日期 这周所花时间 代码行 学到的知识简介 目前比较迷惑的问题
    第八周10.19~1025 29小时 690 printf显示,hello world类型的代码
    第九周10.2~11.1 32小时 780 if,else的使用,计算华氏温度的转化 运算规则
    第十周11.2~11.8 33小时 780 for的循环结构的使用,数学函数 数学计算
    第十一周11.9~11.15 35小时 800 定义函数,调用函数
    第十二周11.16~11。22 37 860 if /else的进一步学习
    第十三周11.23~11.28 37 840 分支结构switch的学习 switch的运用还是不太熟,需要多加练习
    第十四周11.30~12.5 36 850 while和do-while循环语句的运用 while的循环运用不熟练,时常出现运行超时的问题

    3.2累计代码行和博客字数

    3.3学习内容总结和感悟:

    3.3.1学习内容总结:

    3.3.2 学习体会

    1.每周都有每周的收获,这周当然也不例外,我们这周学习了while和do-while循环语句,学了什么时候该用for,什么时候该用while和什么时候该用do-while;语言中每个语句都有不同的用处,正如每个人都有每个人的价值一样。
    2.学习总是无止境的,学海无涯嘛! 我喜欢用轻松的方式对待学习,让学习不那么枯燥无味,让自己开心,也能学到知识。
    3.每一次作业我都会花上很长时间,因为 不会,不熟悉,会有许多不懂得的地方,犯错的地方也会很多。花的时间就会很多,也会感到烦躁的情绪,但是越烦就越没思路。恶性循环,感觉自己人都傻了。
    4.在写作业的过程里,讨论是我解决问题的最好方法,我能解决问题的同时还可以加深印象,让自己记住自己讨论过,不能再犯错。

  • 相关阅读:
    深入理解计算机系统
    Python基础知识点
    贝叶斯分类器
    matplotlib 库的使用
    Linux 学习笔记
    支持向量机
    神经网络
    决策树
    k近邻法的实现
    智能过滤:九眼过滤管应对千变万化
  • 原文地址:https://www.cnblogs.com/loveyourself/p/14070521.html
Copyright © 2011-2022 走看看