• C博客作业--指针


    一、PTA实验作业

    题目1:6-2 求出数组中最大数和次最大数

    1. 本题PTA提交列表

    2. 设计思路

    3.代码截图

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

    我先把a[0]赋给了次最大值,这样使得如果第一个数就是最大值,那么后面找次大值时的判断出错。

    题目2:6-5 判断回文字符串

    1. 本题PTA提交列表

    2. 设计思路

    i从头开始遍历,j从尾开始遍历,直到i>j;
    if *(s+i)不等于*(s+j),跳出循环 
    end
    if i<j 说明循环没有正常结束,则其中有配对不成功的,返回false
    else 返回true 
    

    3.代码截图

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

    犯了一个小错误,忽略了数组是从0开始数的,忘记把字符串长度-1了

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

    1. 本题PTA提交列表

    2. 设计思路

    	int k=0,j=0,i;
    先遍历一遍字符串,得出字符串长度j
    if m>j,那么*s=0,为空串
    else 
    复制数组
    i for m-1  to 结尾
    *(s+k)=*(t+i)
    end;
    *(s+k)=''
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明
    在s数组末尾忘记加结束符了

    二、截图本周题目集的PTA最后排名

    三、阅读代码


    这是课堂派上的一题,功能是将每个
    单词的最后一个字母改成大写,他用一个k来控制分支,当遇到非空格时,k=1,空格时k=0,这很巧妙,要是我就会用一堆分支来解决

    void Fun(char *str)
    {
       int i,j;
       i=j=0;
       while( str[i])
       {
    	   if(str[i]!=' ')
    		   str[j++]=str[i];
    	   i++;
       }
       str[j]='';
     }
    

    该函数用来删除字符串中所有空格,首先这个代码真的太精简了,就一个简单的重构数组,就解决了问题,值得我学习。

    四、本周学习总结
    1.自己总结本周学习内容。

    • 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。
    • 指针可以加上或减去一个整数。
    • 指针变量的数据类型是它所指向的变量的类型,一般情况下一旦指针变量的类型被确定后,它只能指向同种类型的变量。
    • 在定义指针变量时需要使用指针声明赋 * ,但指针声明符并不是指针的组成部分。
    • 不能往空指针里写东西,别问我怎么知道的。
    • 指针是以地址作为值的变量,而数组名的值是一个特殊的固定地址,可以把它看作是常量指针。
    • 两种相同类型的指针相减,表示它们之间相隔的数组元素数目。

    2.罗列本周一些错题。

    函数定义时忘记加变量类型了,太久没写函数有点忘了,还有写成

    还是函数定义时忘记加变量类型了,还有重构数组的范围没搞清楚,因为数组是从0开始数的。

  • 相关阅读:
    11.26 JDBC
    11.25 sql
    Tomcat catalina.out太大解决
    js小数运算出现多位小数如何解决
    idea在调试时出现Method breakpoints may dramatically slow down debugging, idea卡很久
    MAC 'readonly' option is set (add ! to override)错误解决
    idea 2018注册码(激活码)永久性的
    切面保存web访问记录
    高德地图web 端智能围栏
    spring boot 入门 使用spring.profiles.active来分区配置
  • 原文地址:https://www.cnblogs.com/hbw985609191/p/8028796.html
Copyright © 2020-2023  润新知