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 | 其他类型的函数 | |
10 | 31h | 600 | for循环、if else判断 | 数组问题 |
11 | 30h | 520 | 调用函数 | |
12 | 29h | 490 | 多分枝判断结构if-else、字符型 | |
13 | 28h | 400 | 多分枝判断结构switch | |
14 | 28h | 500 | 多分枝循环结构while do-while |
3.2 累积代码行和博客字数。
时间 | 博客字数 | 代码行数 |
---|---|---|
第八周 | 1300 | 500 |
第九周 | 1400 | 530 |
第十周 | 1600 | 600 |
第十一周 | 1500 | 520 |
第十二周 | 1500 | 490 |
第十三周 | 1520 | 400 |
第十四周 | 1520 | 500 |
![]() |