C语言I博客作业07

C语言程序设计 2020计算机3班
作业要求 作业要求
课程目标 熟悉使用while和do-while结构解决问题
作业帮助实现目标的具体方面 多次使用不熟练的内容,强化记忆从而达到目标
参考文献 C语言程序设计
学号 20209003

1.PTA实验作业

从PTA题目集中选出2个你最满意的题目完成.

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 实验代码截图


  • 1.1.2 数据处理

数据表达:
  变量及其类型:
    整型变量:h,a,H,A,ph,pa,i。
  变量由来:通过题目已知定义。
数据处理:
  表达式:a>=0&&h>=0&&A>=0&&H>=0,a=a+pa,h=h+ph,H-a<=0,(h-A<=0&&a-H<=0)||a<=0||h<=0,a>0,H=H-a,H<=0,i++,h=h-A,h>0。
  流程结构:分支结构和循环结构。 
  • 1.1.3 造测试数据

输入数据 :h,a\H,A\ph,pa 输出数据 说明
2 1\2 1\3 0 4 小刘击败4个室友后血量变为0
2 1\ 2 4\ 1 0 I'm too dishes! h+ph<A,a+pa<H
5 5\2 4\1 0 The king of the wild certification! a+pa>H
  • 1.1.4 PTA提交列表及说明

1.部分正确:输出The king of the wild certification!的条件输入错误。
2.编译错误:思路不清晰,小错误不断。

1.2 猜数字游戏

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

  • 1.2.1 实验代码截图


  • 1.2.2 数据处理

数据表达:
  变量及其类型:
    整型变量:num,N,x,i。
  变量由来:通过题目已知定义。
数据处理:
  表达式:num!=x,i++,x<0,num<x,num>x,i==1i>1&&i<=3,i>3&&i<=N,i>N。
  流程结构:分支结构和循环结构。 
  • 1.2.3 造测试数据

输入数据:num\N\x 输出数据 说明
58\4 \70 50 56 58 60 -2 Too big, Too small, Too small, Good Guess! 第4次猜到
58\4 \58 50 56 58 60 -2 Bingo! 第1次猜到
58\4 \70 58 56 58 60 -2 Too big, Lucky You! 第2次猜到
  • 1.2.4 PTA提交列表及说明

1.编译错误:小细节出现错误,未考虑输入负数的情况。
2.部分正确:若是i=3时应是Lucky You!。

2.代码互评

  • 单重循环—数鸡蛋
    妈妈给小明家新送来 y个鸡蛋。 已知小明家原有鸡蛋的个数x是满足“三个三个的数剩1个,5个5个数剩z个,7个7个数剩3个”的最小数, 请问小明家共有多少个鸡蛋?
    (设输入为正数,不考虑非法输入)
    输入格式:
    在一行中输入y(新送的鸡蛋的数目)和z(5个5个数剩z个)的值,以空格分隔。
    输出格式:
    直接输出鸡蛋的总数目。

    • 同学代码截图

      • 同学一

      • 同学二

    • 自己代码截图

  • 不同之处

    • 1.同学一与我的类似,但是while的条件不同,对方的是x<100,而我的是x<3×5×7。
    • 2.同学二不需要考虑满足题目要求的最小值,只要算出第一个答案就可以输出了。

3.学习总结

3.1学习进度条

周\日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
9\11.29-12.5 约11小时 约190行 熟悉使用while和do-while结构解决问题
8\11.22-11.28 约9小时 约220行 熟悉多分支结构switch语句的使用 分不清何时用等于何时用赋值
7\11.15-11.21 约7小时 约200行 学习多分支结构、字符型数据类型和逻辑运算符
6\11.8-11.14 约6小时 约95行 生成乘方表与阶乘表 不理解函数的定义和调用如果将主函数放在前面,第一次出现的double fact(int n)后要加分号
5\11.1-11.7 约8小时 约140行 for语句 输出%d与%6.1lf之间不能有空格的原因
4\10.18-10.24 约6小时 约105行 if-else语句 不能理解求个位数用n%10,十位数n/10%10等 (已解决)

3.2累积代码行和累积博客字数

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

体会:

  • 这周有一种浑浑噩噩的感觉,写代码没有之前那么顺利,不停的出错,无论是思路上还是细节上。希望早点走出这种怪圈。
  • 当然也不排除之前的题目太顺风,导致现在一出现不顺就有落差感,然后失去写下去的动力。
  • 争取尽快调整心情,不再浮躁。失败乃成功之母。
posted @ 2020-12-05 15:29  藐致  阅读(156)  评论(2)    收藏  举报