C语言I博客作业07
作业头
这个作业属于那个课程 | C语言程序设计 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11586 |
我在这个课程的目标是 | <灵活运用while语句,复习,简化代码> |
这个作业在那个具体方面帮助我实现目标 | <题目需要灵活变通,应多方考虑,训练思维能力> |
参考文献 | <C语言程序设计> |
本周作业
PTA实验作业
代码互评
学习总结
1.PTA实验作业(20分/题)
1.1 购物(二) (25分)
用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.1.1数据处理
数据表达:设置浮点型变量a,s分别输入商品价格和计算总价,设置整形变量i初始化为0令其计数;
数据处理:Begin Input a; i←0; if(a<0)then{Output 0.00; End} while(a>=0&&i<10) do {s=←s+a;i++} x←s/i; Output x End
1.1.2实验代码截图
1.1.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
-1 | 0.00 | 商品数量为0 |
1 -1 | 1.00 | 商品数量为1 |
890.78 2769.8 12300 3532.2 -1 | 4873.19 | 商品数量为4 |
1 2 3 4 5 6 7 8 9 10 -1 | 5.50 | 商品数量为10 |
1.1.4 PTA提交列表及说明
提交列表说明:
编译错误:scanf误写成scanf_s,编译器无法识别;
解决方法:去掉_s
部分正确:未考虑到商品数量为零,直接输入-1的情况;
解决方法:在进行while循环前进行判断,若输入为负数,则输出0.00,结束程序
1.2 猜数字游戏
猜数字游戏是令游戏机随机产生一个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 数据处理
数据表达:设置整形变量x,a,i,n,其中a用来储存设置的随机数,n为设置的最大输入次数,i为计数器,x为输入的测试值;
数据处理:Begin Input a n; i←0; while (i <= n)do {Input x if (x > a)then {Output Too big; i++;} else if (x < a && x >= 0) then{Output Too small; i++;} else if (x < 0) {Out put Game Over; End;} else if (x == a) {i++; if (i == 1) then{Output Bingo!; return 0;} else if (i > 1 && i <= 3) then{Output Lucky You!; return 0;} else if(i > 3 && i <= n) then{Output Good Guess; return 0;}}} Output Game Over; End
1.2.2 实验代码截图
1.2.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
58 4 70 50 56 58 60 -2 | Too big Too small Too small Good Guess! | 第四次正确 |
58 4 -1 | Game Over | 直接退出 |
58 4 1 | Bingo! | 一次正确 |
58 4 70 | Too big | 比答案大 |
1.2.4 PTA提交列表及说明
部分正确:输出内容错误,遗漏一种情况;
解决方法:更正输出内容,补上遗漏的情况
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
自己代码截图
1:第一位同学只用了while循环,一步解决了问题,比我的代码简短很多;
2:第二位和我一样用了while循环和if判断,用法不尽相同,但却异曲同工
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间(h) | 有效代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
3/2-3/8 | 4(课堂)+4(课后)=8(h) | 约156行 | for循环 | 同样的代码在visual studio软件与pta网站上输出答案不同(疑惑) |
4/9-4/15 | 4+4.5=8.5 | 约227行 | 定义和调用函数 | 编译器gcc与clang的区别与使用 |
5/16-5/22 | 4+4=8 | 约223行 | 条件语句,嵌套结构 | 嵌套的方法,字符的储存 |
6/23-6/29 | 4+6=10 | 428 | 选择语句,判断语句 | 如何把代码写的简单,短小精悍 |
7/30-7/6 | 4+4=8 | 256 | while循环,do-while循环 | 应训练缜密思维,多方考虑 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
这一周学习了while语句,因为学习过for循环所以学起来比较轻松,这次pta作业的问题重点在详细考虑问题,减少错漏,以及代码的简化。
士不可以不弘毅
任重而道远