C语言I博客作业07
1.作业头
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11586 |
| 这个作业的目标 | <熟悉使用while和do-while结构解决问题。> |
| 学号 | <20209177> |
一、本周教学内容&目标
第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。
二、本周作业
1.PTA实验作业
2.代码互评
3.学习总结
三、作业格式
1.PTA实验作业(20分/题)

1.1猜数字游戏
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
1.1.1数据处理
数据表达:根据题目要求使用了num,times,count,guess这些变量。num,times,count,guess都是整型变量。
数据处理:while循环语句和if-else语句的运用。用while(times>=count)先搞出循环,再分情况讨论猜数大小和要猜数的大小的比较以及猜的次数和给定最大可以猜的次数比较:if(guess<0) if(guess>num)if(guess<num) if(guess==num) if(count==1) if(count<=3) if(count<=times)
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 要猜的猜数 允许猜的次数 猜数 | ||
| 58 1 58 -2 | Bingo! | 第一次就猜中 |
| 58 4 70 -2 | Too big | 猜的数大于要猜的数 |
| 58 4 50 -2 | Too small | 猜的数小于要猜的数 |
| 58 4 50 41 58 -2 | Lucky You! | 3次以内猜到该数 |
| 58 4 50 41 28 58 -2 | Good Guess! | 超过3次但是在N(>3)次以内(包括第N次)猜到该数 |
| 58 4 -2 | Game Over | 超过N次都没有猜到或如果在到达N次之前,用户输入了一个负数 |
1.1.4 PTA提交列表及说明

提交列表说明:
部分正确:‘guess==num’和‘count==1’因为粗心忘记少打一个‘=’导致部分答案错误。
1.2单重循环—数鸡蛋。
妈妈给小明家新送来 y个鸡蛋。 已知小明家原有鸡蛋的个数x是满足“三个三个的数剩1个,5个5个数剩z个,7个7个数剩3个”的最小数, 请问小明家共有多少个鸡蛋? (设输入为正数,不考虑非法输入)
1.2.1 数据处理
数据表达:根据题目要求使用了x,y,z这些变量。x,y,z都是整型变量。
数据处理:循环结构和if-else结构的运用。
for(i=0;i<=1000;i++){
if(i%3==1&&i%7==3&&i%5==z)
break;
}
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 3 2 | 55 | 符合题目要求 |
| 5 1 | 36 | 符合题目要求 |
| 6 0 | 16 | 符合题目要求 |
| 2 3 | 75 | 符合题目要求 |
| 20 12 | 1021 | 如果z>=10或z<0,则x都等于1001 |
1.2.PTA提交列表及说明

答案错误:n的值不知道,导致可能n的值小于题目要求的值,这样就永远不可能得出要求的值。
编译错误:把n改成一个较大的准确数值时,忘记把你以前遗留的一个‘,’删去了。
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图
同学1:

同学2:

自己代码截图:

1.其中一位同学的代码比我更高级,用了一些我还没学到的语句。(看了我们班学习榜样还是有很多的!😅)
2.另一位同学的代码看起来比我的严谨多了,每一个条件语句结尾都用了break,而我就只用了2个break,我要向这位同学学习,不能偷懒!😥
3.同学的代码更加整洁有序,也更加的美观。
4.同学的代码比我的更让人看得懂。
3.学习总结(15分)
3.1 学习进度条(5分)
| 周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
|---|---|---|---|---|
| 7/11.30-12.5 | 12h | 684 | while和do-while语句的运用。 | 针对问题不知道如何选择哪个循环语句来答题。 |
3.2 累积代码行和博客字数(5分)

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

3.3.2学习体会
请回顾自己的本周的学习过程,描述学习感受,也可以提出你不理解的地方、对教师教学建议等。如果你有新的想法或者新的方法,请及时记录下来。
(1)这次PTA作业好难啊!😭以前是分数越高的题目越难,这次却反过来!这次的PTA题目真的是让人脑壳疼🤕!感觉好多东西都是我们上课没讲的,要我们自己去掌握的。所以我们不能只学会上课的东西,我们还要多多预习后面要学的内容。
(2)我们做题目时不要一看到题目就做,要先读懂题目要求,在纸上写出自己认为正确的解题思路,然后再写代码,最后再进行修改。(思维逻辑真的很重要!!!🤔)
(3)要学会自己去向同学或老师提问题,或者在网上寻求答案,且不能轻易就放弃题目,也不能看一下不会就去找答案,这样是没有意义的,我们要先思考,实在想不出,再去寻求帮助。
(4)细心和仔细是我们必不可少的,思路正确,不注意细节,题目还是不正确的。
(5)我们要学会总结,思维导图就很好帮我们总结,但我们做过的题目也要总结,这样可以帮助我们回顾学的内容。
浙公网安备 33010602011771号