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真的很需要逻辑思维,这真的需要我养成勤于思考的好习惯
posted @ 2020-12-05 22:58  GitHub$  阅读(152)  评论(1编辑  收藏  举报
/* 点击爆炸效果*/
/* 鼠标点击求赞文字特效 */ /*鼠标跟随效果*/