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

    这个作业属于哪个课程 C语言程序设计I
    这个作业要求在哪里 作业链接
    我在这个课程的目标是 熟练掌握C语言,能独立完成简单项目,毕业前想做出一个简单的游戏
    这个作业在那个具体方面帮助我实现目标 熟练掌握while的使用
    参考文献 作业评价标准

    1、PTA实验作业

    1.1求整数的位数及各位数字之和

    问题描述:对于给定的正整数N,求它的位数及其各位数字之和。

    1.1.1 数据处理

    • 数据表达:定义了三个整型变量,N表示输入数据,g表示数据位数,u表示各个位数之和。
    • 数据处理:

    伪代码如下
    定义N,g,u;
    输入数据N;
    do //先执行一次循环体
    u+=N%10;
    N=N/10;
    g++; //计数器
    while(N!=0) //判断循环条件,是否继续循环
    输出g,u;

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    321 3 6 样例,正确
    1234 4 10 随机数,正确

    1.1.4 PTA提交列表及说明

    • 1、编译错误:输入语句后没加分号。
    • 2、多种错误:表达式顺序错误,输出语句中未给出输出的变量是什么。

    1.2爬动的蠕虫

    问题描述:一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。

    1.2.1 数据处理

    • 数据表达:定义了五个整型变量,N表示井深,U为每分钟上升高度,D为每分钟下滑高度,s为蠕虫位移,t为所用时间。
    • 数据处理:

    伪代码如下
    **定义N,U,D,s=0,t=0; ** //初始赋值为0
    输入N,U,D;
    while(s<=N) //判断循环条件
    s+=U;
    t++;
    if(s>=N) //上升到N时跳出循环
    输出t;
    else //未到N高度继续循环
    s-=D;
    t++;
    输出t;

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    12 3 1 11 样例,正确
    45 5 3 41 随机数据,正确

    1.2.4 PTA提交列表及说明

    • 1、多种错误:开始直接用每两分钟上升U-D计算,解题思路有错误,因为只要到达了井顶就可以输出时间了,但该思路还会再算一次下滑和上升。
    • 2、部分正确:if语句的执行条件有误,开始写的s==N,应该写s>=N。

    2、代码互评

    同学代码

    我的代码


    • 1、我的代码虽然没有错误,但篇幅很长不够简洁,而且还要先计算累加天数,很麻烦。
    • 1、此同学的代码表达明确,虽然所用的语句和我一样,但在我的基础上简化了许多,简洁明了的表达了他的数据处理思路。复杂问题简单化,长篇代码简洁化,这是我应该向他学习的地方。

    3、学习总结

    3.1 学习进度条

    日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
    10/7--10/13 9+个小时 100+ 编写if-else语句,算术运算与赋值运算规则等 while语句的使用以及适用范围
    10/14--10/20 8+个小时 190+ for的使用,if-else与for的组合使用 while与for的区别
    10/21--10/27 6+个小时 340+ 定义函数与调用 对函数的定义与调用不熟悉
    10/28--11/3 6+个小时 260+ if-else的镶嵌结构 用太多if-else会比较混乱
    11/4--11/10 6+个小时 170+ switch语句的基本运用 switch与if-else的区别
    11/11--11/17 6+个小时 120+ while语句的使用 什么是指针

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结


    思维导图

    3.3.2 学习体会

    • 答:1、本周学习情况良好,上课有在积极参与抢答,课后作业完成度较高,但代码量较小,因为本周及下周学科部事情比较多,自行练习时间较少,while语句使用还不太熟练,还需要练习巩固。
      2、这周学习内容为while的使用方式和结构,以及do-while的用法和while的区别:while用于不确定循环次数的计算,do-while和while的区别在于do-while先执行一次循环体再判断循环条件,而while是先判断循环条件再执行循环体。
      3、PTA作业普通题难度适中,挑战题难度较大,没有独立完成,但请教了同学以及上网查了解析之后大致了解,但独立完成类似题仍然比较困难。
      4、学习如逆水行舟,不进则退。
  • 相关阅读:
    js中'1'到1的转换
    js类型判断
    docker安装mysql5.7
    HMM隐马尔可夫模型学习
    [python] wgs84转为gcj02坐标
    python经纬度转enu坐标
    Centos7开放及查看端口
    设计模式笔记
    npm 全面介绍
    Yarn 安装与使用详细介绍
  • 原文地址:https://www.cnblogs.com/solokill/p/11856493.html
Copyright © 2011-2022 走看看