1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585 |
这个作业的目标 | < 熟悉使用while和do-while结构解决问题> |
学号 | <20209152> |
一、本周教学内容&目标
第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。
二、本周作业
1.PTA实验作业
2.代码互评
3.学习总结
三、作业格式
1.PTA实验作业(20分/题)
1.1 题目名1
7-3 循环-古角猜想 (20分)
日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程
1.1.1数据处理
数据表达:用了n,N变量,这些变量的值是通过定义来的,类型是整形。
数据处理:用到了while语句和if-esle,先再键盘输入一个数,{如果是个偶数就除2,否则{如果是奇数就乘以3加1,再把计算的式子输出,当出现结果为1时结束,
1.1.2实验代码截图
1.1.3 造测试数据
输入 | 结果 | 说明 |
---|---|---|
10 | 10/2=5 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 | 输入一个偶数 |
3 | 33+1=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 | 输入一个奇数 |
1.1.4 PTA提交列表及说明
第一次是因为输入计算公式的时候没有加1
第二次是尝试用了do while语句,发现不行
1.2 题目2
7-4 猜数字游戏 (15分)
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
1.2.1 数据处理
用了rand_number, n i,m, flag = 0,都是通过定义来的,是整型变量。
用了for循环和if结构结合起来,如果m<0就结束,然后if (m > rand_number) printf("Too big
");if (m < rand_number) printf("Too small
"); 要是m == rand_number再执行另一个代码
1.2.2 实验代码截图
1.2.3 造测试数据
输入 | 结果 | 说明 |
---|---|---|
10 3 20 60 10 | Too big Too big Lucky You | 输入数字比10大,次数为3次 |
10 4 5 6 10 | Too small Too small Lucky You | 输入数字比10小,次数为4,但第三次就结束了 |
1.2.4 PTA提交列表及说明
一开始我理解题目意思错了,我以为58和4是原本就在出现在题目里面的,没想到时要自己输出的,导致后面的步骤全错
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图
自己代码截图
第一个我比他少打了一个{},我在while没加{,在后面也没加}
我少定义一个变量,直接在输出的时候写上计算公式
第二个我没有限制范围,虽然答案对了,但与题目要求还是不同,需要改进
3.学习总结(15分)
3.1 学习进度条(5分)
周 | 时间 | 代码行数 | 存在的问题 |
---|---|---|---|
8 | 23 | 120 | 输出“Hello world” |
9 | 24 | 300 | 选择结构,求华氏度 |
10 | 20 | 450 | for循环 |
11 | 18 | 420 | 定义和调用函数 |
12 | 19 | 400 | 字符型和if-esle分支结构 |
13 | 27 | 430 | switch语句 |
14 | 30 | 510 | while语句 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
本周学习了while语句与do while语句,感觉这个比较简单,但还是有些细节不理解,还要多久复习和巩固