• c语言I作业10


    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10098
    我在这个课程的目标是 加深对嵌套结构的理解
    这个作业在那个具体方面帮助我实现目标 通过做字符图形输出的题目加深我们对嵌套结构的理解
    参考文献 《c语言程序设计》,csdn

    一.PTA实验作业

    1.1 输出三角形字符阵列

    本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

    输入格式:

    输入在一行中给出一个正整数n(1≤n<7)。

    输出格式:

    输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

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

    数据处理:如下

    开始
    定义变量a,b,c,i,m
    输入m
    b←m-1
    c←(1+m)*m/2
    for i←0 to c
        输出'A'+i
        if i=m-1 then
            转行
            m←m+b
            b←b-1
        end if
    结束
    

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    4 pta样例
    3 n<4
    5 n>4

    1.1.4 PTA提交列表及说明

    部分错误:编写多次一直出现部分正确,在编译软件中所输入的与样例有点不同,提交列表显示是由一部分出现答案错误,这肯定是循环体或者计算式出现错误,多次尝试后解决了问题。

    **1.2 ** 梅森数

    形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。

    本题要求编写程序,对任一正整数nn<20),输出所有不超过2n−1的梅森数。

    输入格式:

    输入在一行中给出正整数nn<20)。

    输出格式:

    按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。

    1.2.1 数据处理

    数据表达:定义m,n,i,j为整型变量;

    数据处理:如下

    开始
        定义i,j,n,m
        输入n
        for i←2 to n
            m←2^i-1
            for j←2 to m/2
                if m%j=0 then
                   break
                end if
                if j>m/2
                输出m
        if n=0||n=1
        输出None
    结束
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    6 3 7 31 pta样例
    7 3 7 31 127 n>6
    15 3 7 31 127 8191 n>6
    1 None 无完数情况

    1.2.4 PTA提交列表及说明

    部分正确:之前这道 题目在实验课中做过的,知识稍有不同,我将原来的代码稍加改动可以达到这一道题的要求,不过一直反复出现部分正确,也就是部分答案错误。详细比较我之前写过的代码,问题并不是出现在编写的代码内容,而是代码规范的问题,由于大括号在for后和if后的使用不太正确,导致代码出现紊乱,所以运行时出现错误,得不到正确的结果。

    编译错误:手误多打了一个符号,又立马点了提交,下次注意。

    二.代码互评

    代码比较1:

    同学1的代码 我的代码

    代码分析:

    • 我与这位同学代码的差异还是蛮大的,首先就是思路不同,定义了的变量也有所不同,她定义了字符型变量而我没有。总体上说她的代码写得比我的好,不过她的代码需要对字符型变量的掌握和运用较好,而这也正是我所需要去学习的地方。

    代码比较2:

    同学2的代码 我的代码

    代码分析:

    • 我和这位同学的代码风格类似,起码思路上是相同的,不同的地方在于素数的判断的方法形式不同,判断是否是素数的多种方法确实值得我们去吸收

    三.学习总结

    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 循环语句嵌套的运用 语句逻辑难以理清
    第十周(11.26-11.29) 5小时左右 94 编程打印题目的掌握 题目的分析以及其思路看出来有些困难

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    • 这是第十周了,同时也是忙碌的第十周,所以这周的博客完成得也算是有一些仓促的吧。

    • 渐渐地学习到现在会有一些做题目的感觉,但是稍微难一些的题目,完全独立地完成它还是有不小的难度。

    • 或许是渐渐地吸收到了一些东西,对编写代码也是更有兴趣去学了。

    • 临近期末,不得不承认自己对基础知识的掌握还很不够格,希望自己在考试前可以认真复习,圆满地完成考试。

  • 相关阅读:
    Eolink接口管理工具应用
    【内有红包封面】如何简单设计接口测试用例
    IDEA 激活 JRebel教程
    springboot 集成添加 Swagger3 支持
    Kubernetes部署官网Dashboard
    Kubernetes部署第三方Dashboardkuboard
    Kubernetes部署CoreDNS
    项目初始化报 404 Not Found GET https://registry.npmjs.org(转)
    vue项目初始化出现tar ENOENT: no such file or directory错误的解决办法。(转)
    Debian / Ubuntu 系统怎么缩短 shell 路径(转)
  • 原文地址:https://www.cnblogs.com/zengghao/p/11960547.html
Copyright © 2020-2023  润新知