C语言Ⅰ博客作业07
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11591 |
我在这个课程的目标是 | 学会用while和if语句解决比较复杂的分支和循环问题 |
学号 | 20209058 |
1.PTA作业
1.1 7-6 购物(二)
用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.1.1 数据处理
数据表达:将每件商品的价格n,商品价格之和sum以及平均价格average定义为double类型的变量,商品个数count为整型
数据处理:运用while循环多次输入商品价格并同时累加商品价格之和,再用if分支结构判断不买东西的情况
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
890.78 2769.8 12300 3532.2 -1 | 4873.19 | 一般情况 |
89 276.8 123 35.2 234 263 153 276 532 123 -1 | 210.50 | 商品为极端值 |
-1 | 0.00 | 用户不买商品的情况 |
1.1.4 PTA提交列表及说明
1.部分正确:商品为极端值时答案错误,误以为用户不买商品时也能使用average=sum/count这一条件
2.答案正确:由于分母不能为0,便用if加了count=0时的情况
1.2 循环-古角猜想
日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.2.1 数据处理
数据表达:把输入的自然数n定义为int类型的变量
数据处理:用while语句循环对n进行相应的计算,直到它等于1,再用if判断应进行的计算方式
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 5*3+1=16 | 奇数的运算 |
4 | 4/2=2 2/2=1 | 偶数的运算 |
1 | n为1时 |
1.2.4 PTA提交列表及说明
1.部分正确:输入数据为1时答案错误
2.答案正确:不知道n为1时该如何输出,加上if语句判断这种情况并加上什么都不输出就正确了
2.代码互评
同学1代码
同学2代码
我的代码
1.第一位同学使用了数组存放每次猜的数值,再用for循环读取每一个数,并对所猜的数做判断,同时还定义了一个函数去比较猜对次数并输出相应的值,逻辑十分清晰
2.第二位同学直接把猜的数与随机数的比较分成3种情况,再把猜对次数所应输出的结果嵌套在猜对的情况里,看起来简洁明了
3.我的是将猜的数是否是负数分成两大种情况,再用while语句将它与随机数比较,还引用了一个变量去执行相应的语句
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 学到的知识点简介 | 目前比较困惑的问题 |
---|---|---|---|
11/30-12/6 | 8h | if和while语句的嵌套使用 | 各种复杂的分支条件和循环条件该如何清晰地表达出来 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2学习体会
- 在解决一个循环问题和多分支问题时,可将while,for,if语句嵌套使用
- 在用循环语句解决复杂问题时,搞清楚循环条件和对应要执行的语句是十分关键的
- 学习c真的很需要逻辑思维,这真的需要我养成勤于思考的好习惯