码迷,mamicode.com
首页 > 其他好文 > 详细

C博客作业--指针

时间:2017-12-17 22:14:58      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:ges   退出   结束   max   测试   部分   pos   它的   没有   

一、PTA实验作业

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

1. 本题PTA提交列表

技术分享图片

2. 设计思路

技术分享图片

3.代码截图

技术分享图片

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

在第二部分找次最大值时我把max1初始化为0,然后输出的最大值是5,次最大值是12。调试了发现的我找最大值时没有把第一次找的最大值排除在外,最后要把max1赋值为1才得到正确答案。

题目2:6-5 判断回文字符串(20 分)

1. 本题PTA提交列表

技术分享图片

2. 设计思路


    定义count并初始值为0,定义循环变量i,j,flag=0;//count用于统计字符串长度 
    for i=0  to  *(s+i)!=‘\0‘
       count每次加1
        end i.//求出字符串长度
    for i=0  to  i<count
        如果*(s+i)!=*(s+count-i-1) 
             则flag=1并结束循环i
    end i.
    如果前面的循环不正常结束,即i<count
          则返回0
    否则返回1

3.代码截图

技术分享图片

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

这题提交的时候只有一个点对,然后我就按那个测试点改了几遍还是没用,后来问同学才知到要返回的数时1和0,而不是题目中所说的‘false‘和‘true‘。后来把返回的改成1和0,就变成答案正确了。

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

1. 本题PTA提交列表

技术分享图片

2. 设计思路

    定义循环变量i,j=0;//j用来实现两个数组的交换
    for  i=m-1  t[i]!=‘\0‘
       t[i]的值赋给s[j++],;//把符合要求的字符复制到s数组中
       end i.
    s[j]=‘\0‘

3.代码截图

技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明。没有在定义一个j,直接用i++,使控制循环的i发生了变化。

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

技术分享图片

三、阅读代码

技术分享图片
这是我在网上看到的本周PTA最后一题的代码,当初写这道题的时候我的想法是把退出圈子的人删掉再重组数组,但写的时候发现这个方法不可行,因为这样就不能得到退出的人原来位置的下标。而我看到的上述代码定义了一个数组来存放每个人的位置,当有人退出时就把它所在的数字赋值为0,这样它们原来的位置不用改变,也可以通过0来标记他们的退出状态。

技术分享图片
这题是pta的题目的代码,在写这题时我用了swich语句来实现返回,用了多个返回语句。而这个代码在函数外定义了个全局变量,函数中通过返回指针(数组地址)来实现数据返回,我觉得效率比较高。

四、本周学习总结

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

本周学习了指针,刚开始觉得挺难的,因为搞不懂它的用法,但是通过写PTA上的题目,对指针有了更深的了解,就觉得它挺简单。所以后面的题目都写得挺顺利的,没遇到太多错误。

  • 如何定义指针变量和对指针变量赋值?

    类型名  *指针变量名
    如 int  *p;
     p=&i;
  • 指针之间的相互赋值只能在相同类型的指针之间进行。
  • 指针和数组的关系?
    数组名本身是一个地址即指针值。
    指针是以地址作为值的变量,而数组名的值是一个特殊的固定地址。可以看做常量指针。
  • p=a+1是合法的,但a=a+1是非法的,因为数组名是常量指针。

2.罗列本周一些错题。

C博客作业--指针

标签:ges   退出   结束   max   测试   部分   pos   它的   没有   

原文地址:http://www.cnblogs.com/q2634615476/p/8051632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!