• C语言I博客作业04


    1.作业头

    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11495
    我在这个课程的目标是 熟练的掌握和使用自定义函数
    这个作业在那个具体方面帮助我实现目标 多次运用和实战以提高对自定义函数的理解程度以及运用能力,分析他人思路总结自己的问题
    参考文献 算法竞赛入门经典训练指南
    学号 20209031

    2.PTA实验作业

    2.1找出不是两个数组共有的元素

    给定两个整型数组,本题要求找出不是两者共有的元素。

    2.1.1

    数据表达:定义出a[20],b[20],c[40]三个数组,m,n,i,j,k五个变量,mn对应两个数组的数量,ijk对应控制三个数组的下标变量.
    数据处理:流程结构:定义变量,数组-->利用mn将数组填充-->遍历数组,将数组中对应不共有的元素放入第三个数组中-->第三个数组去重输出.
    

    2.1.2


    2.1.3 造测试数据

    输入数据 输出数据 说明
    10 3 -5 2 8 0 3 5 -15 9 100
    11 6 4 8 2 6 -5 9 0 100 8 1 3 5 -15 6 4 1 题目所给测试
    8 10 20 15 13 14 -1 3 2
    3 1 2 3 10 20 15 13 14 -1 1 随机验证

    2.1.4 PTA提交列表及说明

    部分正确:第三个数组去重错误,只正确了共有一个的特殊测试点.
    

    2.2 验证哥德巴赫猜想

    题目内容描述:数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。

    2.2.1

    数据表达:自定义函数以判断素数,再定义一个函数以实现哥德巴赫猜想.主函数定义n,素数函数中定义i,哥德巴赫函数中定义p,q,n代表所要测试的数,i为控制循环的数,p,q为哥德巴赫猜想分离出来的两个数.变量全为整型数      
      数据处理:将n在主函数中输入,进入哥德巴赫函数,将n分离并判断分离的两个数是否为素数,此时的实现在素数函数中.判断之后回到哥德巴赫函数,如果满足则输出n的分离结果.
    

    2.2.2

    2.2.3 造测试数据

    输入数据 输出数据 说明
    24 24 = 5 + 19 5为所有解中最小解,24 = 5 + 19
    2 最小解为1,1不为素数
    2 000 000 000 超出范围

    2.2.4 PTA提交列表及说明

    编译错误:忘记定义形式参数的数据类型
     答案错误:哥德巴赫函数中的输出时忘记对应定义的变量
    

    2.代码互评

    别人的代码

    自己的代码

    总结
    • 多数使用一次自定义函数,其余用主函数实现.
    • 使用的for循环而不是while循环,脱离循环条件更明确.
    • 直接将自定义函数放于主函数之前,减去了声明函数的步骤.

    3.学习总结

    3.1学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    11/10-11/14 26小时 100 自定义函数 字符串 宏定义 不会用复杂的宏定义和字符串
    11/2-11/8 26小时 850 数组 如何使用数组有效的解决问题
    10.26-11.1 24小时 850 选择排序,冒泡排序
    10.19-10.25 24小时 500 循环

    3.2 累积代码行和博客字数

    时间 博客字数 代码行数
    第八周 1200 800
    第九周 1800 1000
    第十周 3452 2000
    第十一周 5186 2100

    3.3学习内容和总结感悟

    3.3.1学习内容总结

    本周进行了acm战队的测试,多次刷题并且反复总结后比起第一次测试还是有了很多的进步,对于数组的认识也清晰了一些,但是在数组的运用和数组思维逻辑方面还是不足够,循环方面也有了更加深刻的理解,例如while循环控制为死循环,另外控制脱离循环的条件,使用break以实现。对于接下来的学习目标还是放在 数组 字符串 循环 当中,这些知识对我我来说还是有很多不熟练的地方。

    3.3.2学习体会

    比较起最开始漫无目的的刷题,在总结之后的效果显得非常的明显,在学习过程也更加明确了以后的学习方法。C语言的魅力也在学习过程中逐渐显露,编程的趣味性更加让我钟意。在之后学习内容的过程中一定要努力做到善于思考 善于总结而不是毫无方法的接受,死板的理解。

  • 相关阅读:
    PostgreSQL使用MySQL外表(mysql_fdw)
    使用node+puppeteer+express搭建截图服务
    零碎知识
    miniconda 搭建tensorflow框架
    有效需求分析阅读笔记(六)
    有效需求分析阅读笔记(五)
    索引原理和优势
    存储过程的优缺点
    RestSharp
    在vue中安装sass/scss报错
  • 原文地址:https://www.cnblogs.com/1208712478qq/p/13976191.html
Copyright © 2020-2023  润新知