zoukankan      html  css  js  c++  java
  • C语言I博客作业07

    C语言程序设计 2020级计科三班
    作业的要求 作业要求
    作业的目标 对所写代码以及同学代码进行分析,总结以及本周的学习体会
    作业帮助我实现目标的方面 让我对while语句更加了解,对于错误地方进行总结
    参考文献 C语言程序设计
    学号 20209028

    1.PTA实验作业

    • 请再此处列出自己的排名图片
    • 从PTA题目集中选出2个你最满意的题目完成以下内容

    1.1 7-6 购物(二)

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

    1.1.1数据处理

    **数据表达**: 浮点型变量 num表示商品的价格,value表示商品的数量,sum表示所有商品的总价,average表示平均价格;
    **数据表达式**: 赋值表达式,算术表达式,逻辑表达式;
    **流程结构**: 选择结构,顺序结构,循环结构,运用了while语句,if-else语句;
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    890.78 2769.8 12300 3532.2 -1 4873.19 计算所有商品的平均值
    0 -1 0.00 商品数为极端值

    1.1.4 PTA提交列表及说明

    **部分正确**:提交结果显示商品数为极端值这一测试点错误,我以为是商品的价格为0元是极端值,改后提交仍显示部分正确,后来换了一个思路,考虑商品数量为0时的情况,但是新的问题又出来了,编译不出,经过仔细检查发现,原来我令数量等于0时,平均值无意义,后令其等于1,,提交结果显示正确。
    

    1.2 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”则结束。

    1.2.1 数据处理

    **数据表达**:  整型变量 num1,num2,N,sum;
    **数据表达式**:赋值表达式,算术表达式,逻辑表达式;
    **流程结构**:  选择结构,顺序结构,循环结构,运用了while语句,if-else语句;
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    58 4 70 50 56 58 60 -2 Too big Too small Too small Good Guess! sample 超过3次、正好N次猜出
    58 2 58 -1 Bingo! 1次猜中
    45 4 33 32 45 39 Too small Too small Lucky You! 3次猜中
    34 3 33 43 90 -1 Too small Too big Too big Game Over 超过N次猜对无效
    56 2 -1 Game Over 直接退出

    注:为了避免表格显得太长,我将输出数据和输入数据的格式做了修改。

    1.2.4 PTA提交列表及说明

    **多种错误**:自己知道解这道题的思路,但是出现了很多错误,比如,while语句中的条件写错了,以及循环体中嵌套if语句时中括号的位置打错等等。在这之后,我一点一点的修改错误,将提交时的多种错误变成了部分正确。
    **部分正确**:在“超过N次猜对无效”和“直接退出”这两个测试点出现错误,当我将while语句中的条件修改为num1>=0时,num1<0应该位于循环体外,而我在循环体内,,从而导致错误。
    

    2.代码互评

    找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

    同学代码截图
    同学1:

    同学2:

    自己代码截图

    不同处:
    我和同学1、同学2使用了while语句和if-else语句,但是我们的while语句不同,所以后面情况的表达也不同,我和同学2将循环的次数这一条件放在了最上方,这样就不需要重复表示。

    3.学习总结

    3.1 学习进度条s

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    9/11.30-12.6 7小时 430行 while,do-while语句 对于while语句中的条件掌握的不是很好

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结


    3.3.2 学习体会
    感受:对于本周的PTA作业,我觉得难度比以往大很多,有些题因为一点点思路问题,花了我大把时间去找错误。我的同学写猜数字那道题,因为一个感叹号,折磨了她一个小时。我知道学习就是这样一个过程,痛并快乐着,我享受着这个过程。还有细节问题,问题虽小,但做到很难。希望我的下周学习可以更加充足吧!

  • 相关阅读:
    MyBatis:2
    MyBatis:1
    synchronized锁普通方法和锁静态方法
    打印倒直角三角形
    迭代器模拟for循环
    Python迭代对象与迭代器
    ffmpeg用法(心得体会还有你见过的用法)
    ffmpeg命令选项解释
    ffmpeg一些filter用法、以及一些功能命令
    FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)
  • 原文地址:https://www.cnblogs.com/Sxywjk/p/14089294.html
Copyright © 2011-2022 走看看