C语言I博客作业07
作业头
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4 |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11591 |
| 这个作业的目标 | 努力那个高分,再接再厉 |
| 这个作业在那个具体方面帮助我实现目标 | 学会了使用while循环结构 |
| 参考文献 | B站 百度《C语言程序与设计》 |
| 学号 | 20209043 |
1.PTA实验作业(20分/题)

1.1 找出一批学生的最高分 (15分)
在所有成绩中选出最高成绩
1.1.1
数据表达:通过整型变量int,定义 max, mark; 用来表示所需要的。
数据处理:
定义两个变量:最大值和成绩max,mark;
认为第一个成绩是理想的最大值
循环条件(mark>=0){
如果(mark>max)
进行赋值 max=mark;
再次输入 mark;};
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 38 86 95 12 94 22 48 -1 | 94 | 94是成绩最好的 |
| 47 49 67 -3 99 88 44 78 | 67 | 67是在输入成绩负数之前的最大值 |
1.1.4 PTA提交列表及说明

段错误:我也不清楚,可能是while中顺序的错误吧!
答案错误:在输出时一不小心【 printf("%d\n",max);】写成了【 printf("%d\n",mark);】
部分错误:在while()的条件中写成【mark!=-1】,出现了运行超时。认真看清题目以后就发现只要为负数就可以了。
答案正确:在前面的改正之下,出现了渴望已久的东西。
1.2 野王认证 (8分)
小刘刚打上了巅峰赛2500 分, 就迫不及待地向他们室友发起了solo(单挑
他们会选择不一样的英雄,每个英雄都只有两个属性(血量,攻击力 ), 小刘有很多皮肤 会给他带来增益( 减损)效果(增加或者减少血量和 攻击力)
然后小刘和他的室友进行 solo (单挑), 小刘先手, 每次使对方血量减少自己攻击力 数值, 当一方血量小于等于 0 时被击败,小刘自认为自己能成为认证野王, 现在想让你帮助他判断 自己能否成为认证野王
1.2.1 数据处理
数据表达:用整形定义函数int h, a, H, A ,ph ,pa , s=0,c=1,i=0; 前面六个是题目要求的,s用于赋值的,c=1,是为了让while(c){}括号中的语句能够正常进行,i用于计算小刘赢得胜利的次数。
数据处理:
如果(h<=0) { printf("I'm too dishes!"); return 0;}//、、、、、、、一个都打不赢,菜鸟!!!
如果(a>=H) {printf("The king of the wild certification!");return 0;}//、、、、、、、直接秒杀,野王!!!
循环语句 while(c){s=H;while(h>0&&s>0){s=s-a;if(s<=0){ i=i+1; break;}
计算 h=h-A;
如果(h<=0) { c=0; break;}
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 2 1 2 1 30 | 4 | 样例 |
| 3 0 3 0 9 9 | The king of the wild certification! | 秒杀 |
| 3 0 3 5 0 0 | I'm too dishes! | 一个都打不赢 |
1.2.4 PTA提交列表及说明
答:
说明:提交列表还不止这一点,从四号下午到五号吧,这一题都来说很折磨我,开始信心满满,结果被打遍体鳞伤。唉😔。
【方正总是少语句,考虑不周全。还有皮肤属性可以负数,】【对于这道题真太多说明我错误的原因】
思路真的有点记不清了,但是收获还是蛮大的。
2.代码互评(5分)
同学1代码截图:

-----------分割线-------------
同学2代码截图:

-----------分割线-------------
自己的代码解图:

代码比较:同学一:他用了pow函数,并且运用if来表示条件,利用while语句来完成循环条件,他在while的条件中用的条件时题目的要求,而我的代码中while中直接用了与题目不符的,结果对了,这是一个普通的代码,没有用到其他的东西。
#### 同学二:第二个用了另一种循环for,for(i=0;k>0;i++){a[i]=k%10;k/=10;sum+=a[i];}及数组的相关概念a[10]z正好是求余的,这算是另一种解法吧。值得学习
3.学习总结(15分)
3.1 学习进度条(5分)
| 周/日期 | 这周所花的时间 | 代码行学到的知识点 | 简介目前比较迷惑的问题 |
|---|---|---|---|
| 11/1——11/8 | 15h | how(),sqrt() | 无 |
| 11/9——11/15 | 17h | 函数函数的被动定义 | |
| 11/16——11/22 | 18.5h | 分支结构 | 字节变量的使用 |
| 11/23——11/29 | 14h | switch的分支结构 | 无 |
| 11/30——12/7 | 12h | 熟悉使用while和do-while结构解决问题 | while与其他的套用 |
3.2 累积代码行和博客字数(5分)

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


浙公网安备 33010602011771号