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

    |
    -|-|
    这个作业属于哪个课程|C语言程序设计1
    这个作业的要求在哪里|http://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9981
    在这个课程的目标是| 学会编写小程序
    参考文献|《C 语言程序设计》《C Primer Plus》

    1. PTA实验作业

    1.1 题目名1 7-1 求整数的位数及各位数字之和

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

    1.1.1 数据处理

    数据处理:定义整型变量n(输入值)

    begin
    定义变量n,i,sum
    i←0,sum←0;
    while(n不等于0时);
    {
    sum=sum+n%10;
    n=n/10;
    i++;
    }
    当n=0时output i,sum.
    }
    end

    数据表达:使用while语句进入循环体。当n≠0时,使用表达式sum=sum+n%10,n/=10计算各位数字之和,i++自增计算整数的位数之和;当n=0时跳出循环。

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    321 3 6 不超过10^9​​的正整数
    2345 4 14 不超过10^9​​的正整数
    111111111111 12 -47 超过10^9​​的正整数

    1.4PTA提交列表及说明

    提交说明
    1. 编译错误:没有将变量i,sum的初始值赋值为0;不等于的算数运算符马虎书写错误。
    2. 编译错误:调用的数学函数,没有加入"#include<stdio.h>"将相应的头文件包含到源程序中去。

    1.2 题目名2 爬动的蠕虫

    一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行.

    1.2.1 数据处理

    数据处理:定义整型变量n,u,d。

    begin
    输入变量s=1,n,u,d,count=0;
    do
    {
    s+=u(蠕虫的累积爬行高度);
    time++;
    s←s-d(蠕虫休息时下滑的高度);
    if s>=n 则跳出循环,output time;
    else 继续do语句继续循环体;
    end

    数据表达:使用了do-while、if-else语句。

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    12 3 1 11 爬出井用了11分钟
    34 5 1 17 爬出井用了17分钟
    27 4 8 无数据 D>U不合逻辑

    1.2.4 PTA提交列表及说明

    提交说明
    1. 编译错误:没有理清题意将s(蠕虫的爬行高端也赋值为0,与蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了,数据处理不当)而出现逻辑错误。
    2. 编译错误:do-while语句的循环中止条件书写错误,也写成“(s<=n)”,而出现的逻辑错误。
    3. 编译错误:算数运算符“+=”(把右侧的值加到左侧变量上)的记忆错误。
    4. 编译错误:scanf语句中输出数据类型语段忘加分号。
    5. 编译错误:循环语句嵌套使用的条件书写不到位,出现莫名的逻辑错误。

    代码互评

    同学代码

    自己代码

    • 同学的代码从代码行数看没有比我简洁。但从代码的字节数来看比我要简短很多。
    • 我只分了平年、闰年两部分对天数来进行计算,通过平年、闰年的每个月的累加天数进行程序计算,代码书写时需人工计算每个月的天数。繁琐麻烦。
    • 该同学则是,首先根据输入的年份判断是平年还是闰年,然后根据不同的月份日进行程序。
    • 从代码的简洁度来看,该同学的swith语句的掌握很好,数据处理到位,思路清晰直观。

    3. 学习总结

    3.1 学习进度条#

    周/日期 所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    W7 15h 198 数据类型中的双精度浮点型double;算数运算符;选择结构if-else语句等 常用数据类型的区别
    W8 10h 87 循坏结构,算数运算符中的自增运算符 运算符的优先级顺序
    W9 10h 89 函数的声明、定义和调用 形参,实参的实质性区别
    W10 10h 112 熟悉并能运用多分支结构及if语句的镶嵌、字符型数据类型和逻辑运算符 各类语句的镶嵌用法
    W11 12h 145 运用switch语句处理多分支问题,掌握switch语句 多分支的分类怎样处理到位,语句怎样更简洁
    W12 11h 81 用while、do-while语句实现循环程序设计 while、do-while语句中循环体、循环语句的准确表达

    3.2 累积代码行和博客字数

    3.3 学习内容总结

    3.3.1 学习内容总结

    • while和for循环都是在循环执行之前检查循环条件是否满足,满足在进行循环体。而do-while循环既是在执行了循环体后在检查循环条件是否还满足。
    • 当循环涉及到初始化和更新变量时适合采用for循环。
    • 循环测试中的值在首次使用之前都需初始化。带关系运算符的表达式昌用于循环测试。
    • 逻辑运算符:(+=把右侧的值加到左侧变量上、/=把左侧的变量乘以右侧的值、%=左侧变量除以右侧值得到的余数)

    3.3.2 学习体会

    • 这个星期讲解上周作业时,各路大佬现身“江湖”。满满的钦佩满满的羡慕。渺小的我要努力的地方太多太多。
    • 当所以的事情都凑合在一起需要去完成的时候,合理的分配时间就显得尤为重要。这周学习外的事情比较多,没有很好的做到合理的分配时间,要在前进的过程中认真吸取经验。
    • C语言的课后自主学习、练习很重要。。。
  • 相关阅读:
    修改mysql root用户密码(忘记密码)
    激活IDEA 2019.1
    数据库事务的4大特性与隔离级别
    使用HttpClient调用第三方接口
    SpringBoot使用logback自定义配置时遇到的坑 --- 在 /tmp目录下自动生成spring.log文件
    更新数据库中数据时出现: Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences 问题
    数值return ++ 的坑
    string整合Quartz定时器
    idea配置自动编译项目配置
    CASE WHEN 及 SELECT CASE WHEN的用法
  • 原文地址:https://www.cnblogs.com/tizipei/p/11857429.html
Copyright © 2011-2022 走看看