zoukankan      html  css  js  c++  java
  • c语言I作业09

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10030
    我在这个课程的目标是 进一步加深对循环结构的理解与运用
    这个作业在那个具体方面帮助我实现目标 break,continue的熟悉以及循环结构嵌套的使用
    参考文献 《c语言程序设计》,csnd

    一.PTA实验作业

    1.1 找完数

    题目内容描述: 所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数mn之间的所有完数。

    输入格式:

    输入在一行中给出2个正整数mn(1<mn≤10000),中间以空格分隔。

    输出格式:

    逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。

    1.1.1数据处理

    数据表达:定义变量a,b,i,j,k,m全为整型;

    数据处理:如下

    开始
    定义变量a,b,i,j,s,l,m
    输入 a,b
    for i←a to b
        do s←0
            for j←1 to i
                if i%j=0 then
                    s←s+j
                    end if
            if s=i
                输出 i=1
                for k←2 to j
                    if i%k=0
                        输出 + k
                    end if
                换行
                m←m+1
                end if
        if m←0
            输出None
        结束
    
    
    

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    2 30 6 = 1 + 2 + 3
    28 = 1 + 2 + 4 + 7 + 14
    pta样例
    2 5 None 无完数情况
    2 999 6 = 1 + 2 + 3
    28 = 1 + 2 + 4 + 7 + 14
    496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248
    三个完数情况

    1.1.4 PTA提交列表及说明

    编译错误:可能是由于代码较长吧,方方面面的细节没有注意,导致出现的编译错误。认真检查后得以改正。

    答案错误:s值赋值错误,开始的时候赋其值为1,但一直出现答案错误,在编译软件中多次尝试后将赋值改为0后解决了问题。

    格式错误:“ + %d”中开始并没有“+”,在同学的帮助下了解到需添加“+”。

    **1.2 ** 跟奥巴马一起画方块

    题目内容描述:美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

    输入格式:

    输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。

    输出格式:

    输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。

    1.2.1 数据处理

    数据表达:定义m,n为整型变量,定义字符变量c;

    数据处理:如下

    开始
    定义整型变量m,n,i,j
    定义字符变量a
    输入 n,a
    if n%2=0 then
        m←n/2
    else
        m←n/2+1
    end if
    for i←0 to m
        for j←0 to n
            输出a
            换行
    结束
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    10 a pta样例
    5 b N=5,字符为b
    6 z Z=6,字符为z

    1.2.4 PTA提交列表及说明

    部分正确:这是此题目出现的主要错误,我在循环体中出现错误,在if-else语句中出现错误,重新理清逻辑和参照同学代码得以改正过来。

    格式错误:没有输出转行,在编程软件中运行发现问题,并加入了转行的输出。

    二.代码互评

    代码比较1:

    同学1的代码 我的代码

    代码分析:

    • 一眼望去同学的代码就比我的显得更加简洁,不过细看总体上其实的差不多的,不同的地方在于变量的定义,显得风格不同。有的时候巧妙地定义变量确实是让代码变得更好地好办法。

    代码比较2:

    同学2的代码 我的代码

    代码分析:

    • 对比起来,形式上是类似的,不同则在于if语句以及循环体的不同,本质上看所表达的意思相同,只不过表达方式不同,从中也可以看出两者的思路以及风格的不同。

    三.学习总结

    3.1 学习进度条

    日期 这周所花时间 代码行 学到的知识简介 目前比较迷惑的问题
    第一周(9.19-9.27) 1小时左右 28 c语言初步了解 格式的正确运用
    第二周(9.27-10.4) 2小时左右 20 markdown格式的运用 怎么样让排版更加美观整齐
    第三周(10.4-10.11) 5小时左右 104 if-else语句的运用 题目逻辑掌握不到位,分析问题的能力有待提高
    第四周(10.11-10.18) 5.5小时左右 92 循环语句的运用 循环体的编写以及结构的多种变化理解不透彻
    第五周(10.18-10.25) 8小时左右 90 调用函数的运用 还是很多时候循环体计算式不能写对
    第六周(10.30-11.02) 7小时左右 133 分支函数的运用 分支函数的多种形式理解不到位
    第七周(11.4-11.8) 5小时左右 105 switch语句的运用 switch语句的理解以及用法不到位
    第八周(11.12-11.16) 6小时左右 99 循环语句的进一步理解和运用 伪代码的正确书写
    第九周(11.18-11.22) 5小时左右 98 循环语句嵌套的运用 语句逻辑难以理清

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    • 经过这么久的学习做题时读题,会有一些思路,不想以前一样一头雾水,虽然还是难以自己完全写正确代码,但是相对来说,算是有些进步。

    • 中途的一段时间真的感觉十分吃力,对学习c语言的兴致也有所下滑,但是很高兴的是现在又重燃对c语言学习的热情,可能是因为有进步或者即将面临考试吧。

  • 相关阅读:
    自定义动画(仿Win10加载动画)
    jquery 仿windows10菜单效果下载
    mac os+selenium2+Firefox驱动+python3
    mac os+selenium2+chrome驱动+python3
    mac 安装scrapy
    mac 查看系统位数
    ubuntu安装 mysqldb
    ubuntu安装常用软件
    scp 时出现permission denied
    ubuntu 安装git
  • 原文地址:https://www.cnblogs.com/zengghao/p/11914274.html
Copyright © 2011-2022 走看看