zoukankan      html  css  js  c++  java
  • C语言--第四次作业--数组

    1.本章学习总结

    1.1 思维导图

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

    1.2.1学习体会

    不知不觉都快学习C语言结束了,自从开始了数组的学习就感觉难度瞬间几何级上升鸭(让人头大,感觉到了各种绝望),做题时候有时候思路到是想得出,可是就是自己很难把他实现。还有就是测试点有些过不了难度是真的感觉有点大。因为要复习线性代数,打代码的时间一少,再打代码的时候会发现很容易忘记课堂上老师说过的知识。有一些本来感觉记住的东西,开始打代码的时候还是会忘记,果然实践出真知。
    在做课堂派的时候让我记忆比较深刻的就是二分法,感觉这个找想要的数好快鸭。数组题目需要的逻辑思考感觉更复杂,还要考虑到更多的方面。这次课程老师还提到了好多的头文件,emmmm看来需要背书了....

    1.2.2代码累计

    2.PTA总分

    2.1截图PTA中函数得分及排名



    • 函数总分: 326分

    3.PTA实验作业

    3.1PTA题目1

    3.1.1算法分析

    - int n, int插入数字x,int 循环变量i和j
    - int a[10]存放输入的有序数列
    - for(i=0到n)挨个输入数组存入a数组中,scanf( x )
    - for(0到n)对a[n]中的数字进较,ifx<a[i],记住这个数字对应的i
    - for(n到i)依次a[j]=a[j-1],将数组往后挪一位,令a[i]=x
    - scanf插入后的数组
    

    3.1.2 代码截图

    3.1.3 PTA提交列表及说明


    Q1:为何总是有两个测试点不过(最大N插在最后,最小N)
    A1:一开始为了比较完整,将第一个循环的上限值设置为n+1,导致第二个循环里面的i+1,在遇到最大n时,会出现由后往前挪位的循环出现崩溃例如: for(i=n;i=n+1; i--)
    A2:之前一直找不到问题所在,冷静下来代数字进循环内找才发现这个问题

    3.2PTA题目2

    3.2.1算法分析

    - int a[6][6],int n,scanf(n)
    - int 循环变量i j,for(0到n)加内循环for(0到n)将输入的数字存入二维数组中
    - int x=0,y=0,z=0,讨论特殊的情况if(n=1)printf(0 0)
    - else for( i=0到n)加内循环对每一行全部元素进行比较,
    if( a[i][x]<=a[i][z])则将x=z,使得最大数能被标记出来
    - 同第四步,将每一列的最小数标记出来,if标记的最大,最小数是同一个数,则flag=0, break跳出最开始的循环找到鞍点
    - if(flag=0) printf(对应下标i x) else printf(none)
    

    3.2.2 代码截图


    3.2.3 PTA提交列表及说明


    Q1:一开始是找不到思路的,emmmm老师原本上课有讲过这个题目不过忘了老师的思路,于是参考了网上的一个做法
    A1:自己去看了之后下来按照那个思路打发现并不是想象的那么顺利,于是在部分正确之间徘徊许久....

    3.3PTA题目3

    3.3.1算法分析

    - int a[11000],b[11000];int 循环变量i,j
    - int flag;gets a,b;len1, 2=strlen(1, 2)
    - for(0到len1)
            for(0到len2)
    - if(a[i]==b[j])flag改变,break;
    - if(flag!=0)
        printf(a[i]);
    

    3.3.2 代码截图

    3.3.3 PTA提交列表及说明


    Q1:一开始对那个A-B的理解是删除对应字符就可以了,不过自己实现不了自己的想法
    A1:于是换了个思路,对两个字符串进行比较最后,输出不相等字符
    A2:提交倒数第二遍的时候发现有两个点运行超时,后面加大了数组长度得以解决

    4.代码互评

    4.1代码截图

    • 别人的代码
    • 自己的代码

    4.2两者的不同

    - 从开头来看我们两个对于字符串输入,以及循环上限的确定方法都是一样的
    - 不一样的是在这位同学是当出现相同的字符把a字符串该字符删去 其余统统左移,我的是用一个flag来标记判断是否相同,对相同的字符标记,在循环的同时进行比较后后的字符串进行输出,而他是在建立一个循环进行输出 
    
    
  • 相关阅读:
    《Java编程思想第四版》附录 B 对比 C++和 Java
    《Java编程思想第四版》附录 C Java 编程规则
    《尚学堂_史上最易懂的设计模式视频》--章节1 责任链模式-- 过滤器模式
    《Effective Java中文版(第2版).pdf》-笔记
    javascript面试--网络收集
    眼睛问题
    网易云课堂《JS原创视频教程-知识点类》
    定时刷新页面SetInterval 和setTimeout -时间间隔可以动态设定
    MSSQL无法启动-原来电脑登录密码改了,重启后要设置
    Thymeleaf--:fragment
  • 原文地址:https://www.cnblogs.com/asings/p/10089532.html
Copyright © 2011-2022 走看看