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

    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11588
    我在这个课程的目标是 熟练的使用for循环和while循环,do···while循环,并掌握之间的联系,用多种循环解题,寻找最简解。
    这个作业在那个具体方面帮助我实现目标 pta实验作业、同学代码互评。
    参考文献 C语言程序设计(3)、C primer plus
    学号 <20208956>

    1.PTA实验作业(20分/题)
    请再此处列出自己的排名图片。

    从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

    1.1 题目名1 野王认证

    题目内容描述
    刘和他的室友进行 solo (单挑), 小刘先手, 每次使对方血量减少自己攻击力 数值, 当一方血量小于等于 0 时被击败,小刘自认为自己能成为认证野王, 现在想让你帮助他判断 自己能否成为认证野王,如果小刘能击败无限多的室友成为认证的野王, 则输出“The king of the wild certification!”否则如果小刘不可以击败任何一个室友, 则输出 “I'm too dishes!”;否则输出一个整数, 表示小刘击败的室友数量.

    1.1.1数据处理

    数据表达:定义h,a,H,A,ph,pa,i,z都为整型。h, a,代表小刘英雄的血量, 攻击力,H,A,代表室友英雄的血量, 攻击力,ph, pa, 代表皮肤增加的血量,攻击力。
    数据处理:使用if条件判断语句,将有可能的情况进行分类,在if语句中还镶嵌了while循环。
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入样例 输出样例 说明
    2 1、 2 1、3 0 4 击败四人
    2 0、2、1、3 0 0 击败零人,无攻击
    2 3、3 100 3 0 The king of the wild certification! 击败无限多人

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

    提交列表说明:


    1.没有考虑到ph=a的情况
    2.没有考虑到打赢无数个人有两种一种是攻击值大于对方血量值,另一种是对方攻击值为零。
    3.第一次开始的时候思路错了,我先使用了while循环,定义一个i用来计数,最后使用if判断i的情况。一直部分正确,后来经过调试,发现while语句出现了死循环,当他对方攻击为零时,无法跳出while。

    1.2 题目2 猜数字游戏

    1.2.1 数据处理

    数据表达:定义了x, n, a, A,z ;x为被猜的数,n为猜次数,a为输入的数,A用来记录次数,都为整型。
    数据处理:使用for循环加if-else的嵌套结构,分多种情况进行讨论,使用break跳出循环。
    

    1.2.2 实验代码截图


    1.2.3 造测试数据

    输入样例 输出样例 说明
    58 4 70 50 56 58 60 -2 Too big Too small Too small Good Guess! 只读出前四个
    58 4 70 50 56 -2 Too big Too small Too small Game Over 读到负数结束

    1.2.4 PTA提交列表及说明


    1.一直部分正确了很久,主要是思路没有清晰,漏掉了几种情况
    2.在纸上将各种情况罗列出来,后来一点一点的改,但我用的是while循环,不知道怎么用,一直是有一个到两个测试点不对。
    3.询问同学后采取同学的意见使用了for循环,并且使用了一个变量的值来表示不同的情况,又多了一种解题的思路。

    2.代码互评(5分)

    同学代码截图

    1

    2

    自己代码截图


    1.这道题是我在pta作业集里做的最快的,只做了一次就对了,我使用了do···while与if——else在循环语句里进行判断。
    2.第一位同学使用的是while语句,与do···while差不太多,但他使用了while(n!=1){while(n!=1)·····}这样显得就比较的繁琐,还有就是格式要改正一下,不美观,不方便阅读。
    3.格式比第一个好,与第一个是一样的。

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第八周 18 220 printf,scanf的使用,以及int类型
    第九周 22 231 if语句分支结构、调用数学函数
    第十周: 25 255 for、while、do...while语句、字符型数据的使用 switch语句多分支结构、break语句和continue语句
    第十一周 28 600左右 switch语句,逻辑运算符,数组,自定义函数 多个循环结构的嵌套使用容易出错
    第十二周 27 680左右 无新的知识点 排序问题
    第十三周 25 400左右 巩固switch语句、const限定符、short int、long int、long long int、unsigned整数类型
    第十四周 20 500 宏定义、多种循环结构的使用 for循环与while循环之间的转换

    3.2 累积代码行和博客字数(5分)

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    3.3.2 学习体会

    不定次数的循环,如果用for循环,不给定循环条件,在循环中读一个数,判断是否是结束标志,如果不是则执行循环语句,如果是,则退出循环。
    如果用while,则循环条件要为真,其余的与for一样。

  • 相关阅读:
    菜鸟涂鸦作品展_No.29
    菜鸟涂鸦作品展_No.27
    菜鸟涂鸦作品展_No.26
    关注的前沿动态
    货币转换
    第二周总结
    老鼠
    71 打印沙漏
    学习总结0.0
    第五周作业
  • 原文地址:https://www.cnblogs.com/hongyinhongyin/p/14097921.html
Copyright © 2011-2022 走看看