zoukankan      html  css  js  c++  java
  • C语言博客作业04--数组

    1.本章学习总结

    1.1 思维导图

    1.2 本章学习体会及代码量学习体会

    1.2.1 学习体会

    感觉数组不好做,一口气布置这么多,又有课堂派,还要复习线性代数,进度一下子跟不上来。

    1.2.2 代码累计

    2.PTA总分

    2.1 PTA三次题目集的排名得分

    一维数组

    二维数组

    字符数组

    2.2 我的总分

    305分

    3.PTA实验作业

    3.1 PTA题目1

    在一行中输出循环左移m位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。

    3.1 算法分析

    输入数m,n
    定义一个数组a
    m=m%n
    if m=n then 
        if i=0 then 输出a[i]
        else 输出 a[i]
    else
        for i=m to n do
            if i=m then 输出a[i]
            else 输出 a[i]
        end for
        for i=0 to <m do
            输出a[i]
    end if
    

    3.1.2 代码截图

    3.1.3 PTA提交列表及说明


    Q1:刚开始做的时候没想到m会大于n。
    A1:使用求余解决。

    3.2 PTA题目2

    读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。

    3.2.1 算法分析

    定义一个静态数组hash
    输入n
    flag=0
    for i=1 to n do
        输入数字
        hash[number]++
        if hash[number]>1 then flag=1
    end for
    if flag=1 then 输出YES
    else 输出NO
    end if
    

    3.2.2 代码截图

    3.2.3 PTA提交列表及说明


    Q1:原来的算法是判断这个数组是否有数字相等,结果一个测试点运行超时。
    A1:改用哈希数组的方法解决。

    3.3 PTA题目3

    输入在2行中先后给出字符串A和B,在一行中打印出A−B的结果字符串。

    3.3.1 算法分析

    定义2个字符数组a,b
    定义静态数组hash
    输入a数组
    输入b数组
    for i=0 to b[i]&&b[i]!='
    ' do
        hash[b[i]]++
    end for
    for i=0 to a[i]&&a[i]!='
    ' do
        if hash[a[i]]=0 then 输出a[i]
    end for
    

    3.3.2 代码截图

    3.3.3 PTA提交列表及说明

    4.代码互评

    4.1 代码截图

    同学代码截图

    自己的代码截图

    4.2 二者的不同

    同学使用了二分法查找,而我是逐个查找,效率同学更高。

  • 相关阅读:
    docker创建nginx+php-fpm+mysql环境(一分钟搭建lnmp)
    dcoker搭建wordpress
    docker搭建mysql
    nginx负载均衡精简配置实例
    docker配置阿里云镜像加速
    Centos7 ssh配置RSA证书登录
    Dockerfile centos7_php5.6.36
    Dockerfile cnetos7_nginx1.15.10
    Dockerfile centos7_tomcat7.0.64_jdk7u80
    centos7 安装docker
  • 原文地址:https://www.cnblogs.com/p123/p/10089067.html
Copyright © 2011-2022 走看看