C语言I博客作业07
作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11584 |
这个作业的目标 | <更加的了解循环结构的其他格式> |
学号 | <20209115> |
1.PTA实验作业
1.1 题目名:猜数字游戏
题目内容:猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
数据表达: 定义了整型变量number,N,i,x ,都是由赋值而来的。
数据处理:do-while语句,if-else语句;
伪代码:Begin
Enter number,N,i,x
Begin
i++;
Begin
if x<0 then
printf("Game Over");
x ← number;
else
if i <= N then
if x>number then
printf("Too big\n");
else
if C then
if i = 1 then
printf("Bingo!");
else
if i <= 3 then
printf("Lucky You!");
else
printf("Good Guess!");
else
printf("Too small\n");
else
printf("Game Over");
x ← number;
while x!= number
end
end
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
58 4\70 50 56 58 | Too big Too small Too small Good Guess! | 70>50 50<58 56<58 58=58 |
79 4\90 70 75 79 | Too big Too small Too small Good Guess! | 901>79 70<79 75<79 79=79 |
80\4 80 | Bingo! | 80=80 |
1.1.4 PTA提交列表及说明
编译错误:写代码的时候if-else语句中大括号较多,少打了一个大括号。
部分正确1:在Good Guess!中Guess和!之间多打了一个空格。
部分正确2:在Lucky You!中You和!之间多打了一个空格。
1.2 题目:购物
内容:用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.2.1 数据处理
| 数据表达: | 使用双浮点型变量(n, sum, p, num ),由赋值而来。 |
| ---- | ---- | ---- |
| 数据处理: | 使用while语句 ,if语句 | |
伪代码:Begin
Enter:n,p,sum,num;
num ← p ← 0;
sum ← 0.00;
input n;
while n!=-1 then
Begin
sum += n;
num++;
input n;
if num=0 then
num ← 1;
p ← 0;
p = sum / num;
end
end
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
890.78 2769.8 12300 3532.2 -1 | 4873.19 | 全部价格相加除4得来 |
790.23 856.59 503.20 100.00 -1 | 562.51 | 全部价格相加除4得来 |
1.2.4 PTA提交列表及说明
运行超时:写代码的时候while后面的条件写成n!=1,1前面的负号忘记加上。
2.代码互评
同学1代码截图:
同学2代码截图:
自己代码截图:
与同学一比较:
1该同学的代码简洁,排版也整齐,写法思路大致相同。
2该同学的定义了三个变量,我定义4个变量,而且她的if语句中代码的行数较少,较为方便。
与同学二的比较:
1该同学的代码中变量也是三个,思路也相同。
2他使用的第二个scanf函数在if语句后,而我的是在while语句后,但意思是相同的。
3.学习总结
3.1 学习进度条
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这周中学习了while循环语句和一些其他的循环结构,对于一些较难的题使用程序框图可以更好地解决题目。这次的学习过程中对于for语句已经能够很熟练的使用,还有对一些没有学习到的知识,可以先做预习这样也可以帮助做题,当然还要复习前面的一些知识的用法,做题的时候也会复习到。对于一些较难的题目就可以问问同学,然后学习理解在自己写一遍也有很大的收获。