• C博客作业--指针


    一、PTA实验作业

    题目1:6-9 求子串在母串中最后一次出现的地址

    1. 本题PTA提交列表

    2. 设计思路

    定义i,j存放循环变量,n存放子串长度
    定义指针p存放子串最后一次出现的地址
    for i=0 to t[i]=0
        令n=i
        for i=0 to s[i]=0
            for j=0 to t[j]=s[i]
                如果t[j+1]=0,p=s[i-n+1]的地址,即子串第一个字符在母串地址
                并flag=1表示程序进过这个循环
    如果flag=0,p=NULL
    返回p
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    本题无误

    题目2:6-8 使用函数实现字符串部分复制

    1. 本题PTA提交列表

    2.设计思路

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    • 部分错误:在想问题时,对数组下标的把握错误,导致失误

    题目3:6-11 报数

    1. 本题PTA提交列表

    2. 设计思路

    定义变量i,k存放总人数,l存放排位数
    定义数组a[100]
    for i=1 to i>=n a[i]=i(让数组每个元素等于他的下标) end
    for i=1 to n=0
        若i>k,i=i-k(将i转化为小于总人数的数字)
        若a[i-1]=-1 l--,跳过下面步骤
        若l是m的倍数,out[i-1]=j;j++;a[i-1]=-1(将该数组标记为已退出);n--;
    end
    ···
    
    ###4.本题调试过程碰到问题及PTA提交列表情况说明。
     - 段错误:数组不够大
     - 多种错误:本来循环条件应该是n=0时跳出循环,但我弄错了,导致程序死循环而运行超时,数组不够大而段错误
    
    #二、截图本周题目集的PTA最后排名。
    ![](http://images2017.cnblogs.com/blog/1232019/201712/1232019-20171216212249593-358778168.png)
    
    #三、阅读代码
    ![](http://images2017.cnblogs.com/blog/1232019/201712/1232019-20171216212913952-1167717306.png)
    首先它这题用了函数进行封装,如果让我来做这题,我应该不会用函数,因为我函数用的不够熟练,所以我觉得这是我
    应该学习的地方,其次他用指针作为形参,指针作为形参的话,我查了一下资料,它运行的比较快,可见指针确实在很多方面
    都有优越性
    
    ![](http://images2017.cnblogs.com/blog/1232019/201712/1232019-20171216220859171-305885530.png)
    我觉得他这一题的做法很好,他筛选相同数字时,碰到相同数字就跳出循环,如果让我来做,我可能会让数组循环左移
    
    #四、本周学习总结
    ##1.自己总结本周学习内容
    1.结构类型可以把一些数据聚合成一个整体,结构可以使程序可读性更好
    2.可以用typedef定义一个新类型
    3.结构的嵌套是在结构里定义另一个结构类型的变量
    4.结构变量的定义
     - 单独定义
     - 混合定义
     - 无类型定义
    5.结构类型变量的使用
    对于指针可以用 p->或(*p).  这里要注意运算符的优先级
    6.结构变量可以整体赋值,但在结构内部成员较多情况下,效率较低
    7.结构型变量一般不作为形参,一般用结构指针,因为这样更有效率
    
    ##2.罗列本周一些错题
    ![](http://images2017.cnblogs.com/blog/1232019/201712/1232019-20171216222421514-1248911085.png)这题错误是由于对结构不熟悉
    ![](http://images2017.cnblogs.com/blog/1232019/201712/1232019-20171216222513046-1391188079.png)这题要注意运算符优先级
  • 相关阅读:
    Jenkins联动码云自动匹配分支进行构建流水线
    SpringBoot集成MyBatis的分页插件PageHelper--详细步骤
    java服务端集成极光消息推送--详细开发步骤
    深入理解jvm--性能监控工具
    深入理解jvm--分代回收算法通俗理解
    intellij IDEA github clone 指定分支代码
    java程序员常用的cmd命令
    【推荐】我凭这三招轻松拿到offer(吐血整理)
    java系统化基础-day02-运算符、选择结构、循环结构
    linux上安装redis-单机版
  • 原文地址:https://www.cnblogs.com/Airoure/p/8046848.html
Copyright © 2020-2023  润新知