C语言I博客作业07

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 作业要求
我在这个课程的目标是 熟练使用C语言
这个作业在那个具体方面帮助我实现目标 对本周的学习内容理解更深,总结反思这周学习感受
参考文献 《C语言程序设计》
学号 20209017

1.PTA实验作业

1.1 题目名1:7-4 猜数字游戏

猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
输入格式:输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入,直到出现负数为止。
输出格式:在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。
输入样例:58 4 70 50 56 58 6 -2
输出样例:
Too big
Too small
Too small
Good Guess!

1.1.1数据处理

数据表达:用了num,guess,i,n变量,这些变量的值是定义计算赋值来的,类型是整型。
数据处理:数据用到数学表达式、条件表达式。    流程结构用到选择结构(if-else)与循环结构(while)。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
58 4 70 50 56 58 6 -2 Too big Too small Too small Good Guess! sample 超过3次、正好N次猜出
58 4 58 Bingo 1次猜中
58 4 70 50 58 Too big Too small Lucky You! 3次猜中
58 4 70 50 52 54 56 58 Too big Too small Too small Too small Too small Game Over 超过n次无效
58 3 0 Game Over 直接跳过

1.1.4 PTA提交列表及说明

提交列表说明:
1.编译错误:显示没有提到while与}前要加;
  解决办法:仔细检查这条语句,发现while打错了。
2.部分正确:sample 超过3次、正好N次猜出与超过N次猜对无效错误与直接退出错误
  解决办法:直接退出处没写break无法跳出循环,sample 超过3次、正好N次猜出输出处少打了一个!,超过N次猜对无效错误不应该加等于号。

1.2 题目2:7-6 购物(二)

用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
输入格式:若干个以空格间隔的实数(每个数不超过100000),以-1作为输入结束的标志。
输出格式:一个实数,表示商品的平均价格,精确到小数点后两位。
输入样例:890.78 2769.8 12300 3532.2 -1
输出样例:4873.19

1.2.1 数据处理

数据表达:用了num,result,dight,average变量,此变量的值是定义计算赋值来的,类型是双精度浮点型。
数据处理:数据用到条件表达式与数学表达式。    流程结构用到选择结构(if-else)与循环结构(while)。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
0 0 商品数为极端值
20 20 商品数较少
890.78 2769.8 12300 3532.2 -1 4873.19 与sample同例
890.78 2769.8 12300 3532.2 67 9 476 58 37 485 678 1936.62 商品数超过10
13000 0.00 商品价值超过100000

1.2.4 PTA提交列表及说明

提交列表说明:
1.部分正确:商品数极端值错误。
解决方法:忽略了商品数为0。
2.编译错误:average未定义少添加了一个分号。
解决方法:增加average变量,忘记定义。观察每个语句是否有;。
3.部分正确:商品数极端值错误。
解决方法:将average的计算提前,商品数为0时,直接写average=0。

2.代码互评

2.1购物

用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
输入格式:若干个以空格间隔的实数(每个数不超过100000),以-1作为输入结束的标志。
输出格式:一个实数,表示商品的平均价格,精确到小数点后两位。
输入样例:890.78 2769.8 12300 3532.2 -1
输出样例:4873.19

2.1.1同学1

2.1.2同学2

2.1.3自己

2.1.4不同之处

1.同学对用户输入的商品价值直接写在了while语句的判断条件里,这样scanf就不用像我的一样写两次。
2.同学计算average的值是放在最后,这样在商品数为了0的条件里需要让商品数为1,目的是为了average计算时分母不为0,而我的则是将average的计算放在了各个情况中,在商品数为0时直接写average=0.
3.对于一些变量等于同一变量加(减、乘、除)其他变量或常数,同学是重复写了这一变量,而我则是将运算符放在前面,就可以少写一次这一变量。

3.学习总结

3.1学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较困惑的问题
第一周 0天 0行 C语言知识的大纲 目前没有问题
第二周 3天 约20行 Hello world编程Markdown语法 目前没有问题
第三周 5天 约80行 华氏度与摄氏度的转换、调试 对应该如何调试还不太懂
第四周 5天 约90行 if-else语句 PTA作业在scanf语句处有警告,该如何修改
第五周 5天 约125行 for语句 对for语句的使用不够熟练
第六周 5天 104 如何定义函数 对定义函数的操作不过熟练
第七周 5天 184 char数据类型的用法 用char类型不熟练,分不清什么时候要加''
第八周 5天 272 switch语句用法 有部分情况不知怎么用
第九周 4天 251 while语句与do-while语句用法 暂无疑惑

3.2累计代码行和博客字数

时间 博客字数 代码行数
第一周 0 0
第二周 808 20
第三周 808 100
第四周 1426 190
第五周 2968 315
第六周 4144 409
第七周 7053 593
第八周 8814 865
第九周 11037 1116

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

1.实验课的课堂作业完成效率低,经常在一个题的一个小地方纠结很久,导致无法写完实验课上布置的题目。
2.这周的PTA作业对我来说有点难,有几个题目经常遇到运行超时的问题,不知要从哪里改起,就只能推翻重来。
3.听学长们的讲课知道了代码许多更简洁的写法。

posted @ 2020-12-05 13:35  彭樱  阅读(226)  评论(1编辑  收藏  举报