C语言I博客作业07

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2/
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585
这个作业的目标 < 熟悉使用while和do-while结构解决问题。>
学号 <20209145>

一、PTA实验作业。

1.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.2数据处理:

数据表达:运用了整型变量x,y,N,i;x,y,N是输入值,i是记录循环次数。
数据处理:while i<=N&&y!=x
i <- i+1
i==N+1 等。

1.1.3 造测试数据:

输入数据 输出数据 说明
1 2\1 Bingo 一次猜出结果
21 4\31\21 Too big\Lucky You! 第一次太大,三次内猜对
21 4\19-1 Too small\Game Over 第一次太小,有负数游戏结束
21 1\19\21 Too small\Game Over 第一次太小,在N次内没猜对
(\表示换了一行)

1.1.4实验代码截图:

1.1.5PTA提交列表及说明:

1.编译错误:没有定义i的初始值。
2.部分正确:没考虑当i的值大于N时,跳出while循环,i的值是N+1,此时得到的答案为Good Guess!,而不是Game Over。
读代码容易看出没有定义i;当i为N+1跳出循环后重新赋值i且不与其它值冲突(定义为负数)。

1.2.1题目:

(购物(二))用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。

1.2.2数据处理:

数据表达:运用了整型变量i,n;浮点型x,sum,result;x是输入值,i记录商品个数,n记录循环个数,sum记录商品总价。
数据处理:sum <- i <- 0
for n <- 1to11
else sum <- sum+x
i <- i+1
if i==0 等。

1.2.3造测试数据:

输入数据 输出数据 说明
890.78 2769.8 12300 3532.2 -1 4873.19 这些商品的平均价格为4873.19
100000 100000 9876.54 -1 69958.85 这些商品的平均价格为69958.85
10 21 11 1 2 3 4 5 6 0 -1 6.30 这些商品的平均价格为6.30

1.2.4实验代码截图:

1.2.5 PTA提交列表及说明:


1.运行超时:当输入-1时没中断循环。
2.部分正确:当一件商品也没有时i为0,此时i不能做分母。
3.部分正确:当有10件商品时要循环输入11次,当条件为(n=1;n<=10;i++)时只循环输入了10次。
容易看出没中断问题;当i为0时重新赋值一个值;改变循环条件。

二、代码互评。

同学代码:

我的代码:

1.同学用的是while循环,我的是for循环。
2.他定义的字符较少,并一边定义一边赋值。
3.他的不存在i为0的情况。

同学代码:

我的代码:

1.我用了switch判断结构,他的全是if-else判断结构。
2.他的中断语句是“goto end”,我的是“break”。
3.他的判断于输出全在while结构里,我的部分在while结构里。
4.他的循环条件是输入。
5.他的结束语句前加了end(end:return 0;)。

三、学习总结。

3.1 学习进度条。

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
8 29h 500 输入、输出函数 除法的运算法则
9 30h 530 其他类型的函数 判断语句if else
10 31h 600 for循环、if else判断 数组问题
11 30h 520 调用函数 调用自己定义的函数
12 29h 490 多分枝判断结构if-else、字符型 或、且运算符
13 28h 400 多分枝判断结构switch 或、且、非的优先情况
14 28h 500 多分枝循环结构while do-while while和do-while的区别

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

时间 博客字数 代码行数
第八周 1300 500
第九周 1400 530
第十周 1600 600
第十一周 1500 520
第十二周 1500 490
第十三周 1520 400
第十四周 1520 500

3.3 学习内容总结和感悟。

随着东西学的越多,每个人的做题风格也有了明显的区别,每一题有多种解法。学习C语言我觉得搭积木一样,每个语法都是积木,可以用不同的积木搭出相同的物体,所以不同的人做同样的题,会用到不同的语法。现阶段的我们可以用合适我们自己的习惯、思维的语法,但是以后我们还是要面临追求最优解。“不积跬步无以至千里,不积小流无以成江海”,要想成为能高效的得出最优解的编程大佬,只有增加自己掌握的积木数量。

posted on 2020-12-03 15:53  代源码  阅读(132)  评论(8编辑  收藏  举报

导航