• C语言I博客作业07


    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11588
    我在这个课程的目标是 更好的理解现在所学习的内容,补充细节和框架
    这个作业在哪个具体方面帮助我实现目标 思维导图和代码互评
    参考文献 《C Primer Plus》《C语言程序设计》(第三版)

    1.PTA实验作业

    1.1 实验6-9 统计一行文本的单词个数 (15分)

    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

    1.1.1 数据处理

    数据表达:
    1.变量count:整型,由赋值得来;
    2.变量ch,bh:字符型,由输入得来;
    数据处理:
    表达式:赋值表达式,逻辑表达式,算数表达式;
    流程结构:while语句,if-else语句。
    伪代码:
    getchar()输入一个字符放入bh
    while定为死循环
    将bh赋值给ch
    再使用getchar输入一个字符放入bh
    if bh != ' ' 且ch == ' ',则count+1,累积一个单词
    if ch == '
    ',则跳出while循环,即语句输入结束
    if bh == ' ',即空格结尾,啧count累计数-1
    输出count
    

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    Let's go to room 209. 5 判断得出有五个单词
    let 1 前后都有空格,但只有一个单词

    1.1.4 PTA提交列表及说明


    1.部分错误:空格结尾,以及1个最短单词,前有空格,以及全空格的测试点没有通过;
    2.部分错误:经过调整后全空格和最短单词时测试通过,但其他的点又错误了。

    1.2 实验4-1-9 猜数字游戏 (15分)

    猜数字游戏是令游戏机随机产生一个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 数据处理

    数据表达:
    1.变量x,n:为整型,由输入得来;
    2.变量a[100]:为整型数组,由输入得来;
    3.变量i,sum,flag,m:由赋值得来;
    数据处理:
    表达式:赋值表达式,计算表达式,关系表达式。
    流程结构:while循环,for循环,if-else语句。
    伪代码:
    初始化flag=0,sum=0
    输入x,n
    for (int i = 0; i < n; i++)
    输入a
    if a<0,则break,跳出for循环
    else if a>x,则sum++,输出"Too big
    "
    else if a<x,则sum++,输出"Too small
    "
    else 
    sum++,令flag = 1
    if sum == 1输出"Bingo!
    "
    else if sum <= 3输出"Lucky You!
    "
    else 输出"Good Guess!
    ",则break,跳出for循环
    如果flag=0,则输出"game over
    "
    
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    只比较四次,且第四次正好猜对
    只比较三次,且第三次正好猜对
    比较五次,但是第三次已经猜对,于是只输出三行

    1.2.4 PTA提交列表及说明


    1.多种错误:包括格式错误:输出没有换行,答案错误:没有及时退出等错误;
    2.部分正确:超过N次猜对无效,3次猜中,sample 超过3次、正好N次猜出测试点错误;
    3.编译错误:在vs改正后复制粘贴时,少复制了一部分;
    4.部分正确:3次猜中测试点没有通过。

    2.代码互评

    同学代码:

    自己代码:

    同学的代码直接用数学公式讲鸡蛋总和计算了出来,而我则是用for循环一个一个试出来,同学的代码比我的更简便,用的时间也更少。

    3.学习总结

    3.1学习进度条

    周/日期 这周所花时间 代码行 学到的知识点简介 目前比较困惑的问题
    第八周 30小时 600 基础知识,输入输出函数if-else语句
    第九周 30小时 700 for循环,while循环,switch语句,数组 怎样用数组打出金字塔和蛇形数组
    第十周 30小时 500 二维数组的使用
    第十一周 25小时 550 自定义函数,命名法 怎样解决自己的暴力解题思路,让代码更直观简洁
    第十二周 27小时 550 string.h 怎样解决自己的暴力解题思路,让代码更直观简洁
    第十三周 25小时 600 不知道自己该往哪学
    第十四周 26小时 650

    3.2累积代码行和博客字数

    3.3学习内容总结和感悟

    3.3.1学习内容总结

    3.3.2学习体会

    这周上课更系统的学习了do-while,比我之前所了解的更透彻了一些,写题也能够有更多的方法了,希望下周也可以在原本所学过的基础上再加强一些。

  • 相关阅读:
    ArcGIS Server TileLayer 跨域读取
    dojo.declare 未定义
    注册部署SOE, 提交SOE只能在IE浏览器中
    在maptalks中加载三维模型obj,fbx,glb
    三维模型 obj 转化为 three Json 文件格式
    leaflet map 地图初始化不能铺满div
    查找进行的过程中被停止 解决办法
    逆向的第一个小代码
    编码不规范导致的错误
    android4.4.2 短信广播变更
  • 原文地址:https://www.cnblogs.com/czy020719/p/14092998.html
Copyright © 2020-2023  润新知