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

C博客作业--指针

时间:2017-12-18 01:23:47      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:字母   第一个   字符   交换   学习   出错   ++   注意   调试   

一、PTA实验作业

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

1. 本题PTA提交列表(要提交列表,不是结果)

技术分享图片

2. 设计思路(伪代码或流程图)

定义max存放较小值,temp存放最大值的下标,i为循环变量
       for(i=1;i<n;i++){
            如果*a<*(a+i)
            temp=i;
             交换*a与*(a+i)的值}
             最大值max=*(a+temp)
       for(i=1;i<n;i++){
           如果 *(a+1)<*(a+i)
           temp=i;
           交换*(a+1)与*(a+i)的值}
           次大值max=*(a+temp)

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

技术分享图片

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

  • 1.一开始的时候没有理清楚思路就开始写代码,所以就误把这道题目当成排序来写,然后碰巧测试数据有些数已经排好序了,导致输出来的数很奇怪。
  • 解决办法:本来觉得排序没有错,又仔细看了一下题目发现题目要求并不是排序,只是交换位置,而且用排序的方法好像做不了,所以改成了找最大值的思想来写。
  • 2.也不知道是哪里错了,输出的数有交换过位置,但是最终交换的结果不正确。
    技术分享图片

  • 解决办法:调试时发现我的程序运行到第二个循环时根本就不进入第二个循环,因为我的循环条件是控制在从第二个数开始循环,第二个数正好是最大数,没有数满足比他大,所以循环进不去,后来我就把循环条件改成了for(i=1;i<n;i++) if((a+1)<(a+i))程序就正常运行了。

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

1. 本题PTA提交列表(要提交列表,不是结果)

2. 设计思路(伪代码或流程图)

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

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

题目3:6-7 过滤字符串只保留串中的字母字符

1. 本题PTA提交列表(要提交列表,不是结果)

技术分享图片

2. 设计思路(伪代码或流程图)

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

技术分享图片

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

  • 这一题我一开始就想着控制循环条件在定义一个新数组去存放过滤完的数组就好了,可是不管怎么调试,就是调试不正确,而且就像定义一个新数组a[u],让u自增我一直觉得不会出错但是调试时发现u根本就不是自增状态。而且别的数据也是乱七八糟的。
    技术分享图片

  • 解决办法:我一直找不到错误在哪里,后来就去请教了同学,同学指出我的指针运用混乱,一下子是用指针,一下子又是用数组的,会把整个程序弄混乱,用指针就一直使用指针就好,这样不容易乱,所以我就听从同学建议将数组全部改为指针。
  • 2.全部改为指针后还是输出不对,输出是原样输出的,没有经过筛选。
  • 这个问题也不是我自己解决的,还是同学帮找出来的错误,说我在最后的时候没有将a[u]的值复制到ptr中,所以才原样输出,后来我想了一下确实是这样,我只是用一个新数组存放过滤后的值,并没有改变ptr中的值,所以函数返回时当然返回了未经改变的ptr,后来使用了strcpy来复制就正确了。

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

三、阅读代码

四、本周学习总结

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

  • 之前对指针一点都不熟悉,就是感觉好好的干嘛要用指针呀,多麻烦不是。后来随着学习的深入发现有些题目确实用指针写会比较方便简单,而且程序也更加高效。这一周因为写了指针的pta所以对指针的运用掌握了许多的基本用法,但是这也仅仅是简单题目的简单运用,复杂一些就有些混乱了,就比如说如果当一个指针指向的是数组的话,那我可能这一步用的是指针,下一步用的是数组,结果导致整个程序都混乱了,最后自己还找不出来哪里错了。还有一点就是一个指针如果我两次循环都要用到的话,就比如说p,在第一个循环中我让p自增即p++,就让p加到了临界点,而下一个循环我要让p从原来第一个值又开始自增,但是直到现在我也不懂怎么让他回到第一个值,所以我每次都是用(p+i)来代替p的自增。

    2.罗列本周一些错题。

C博客作业--指针

标签:字母   第一个   字符   交换   学习   出错   ++   注意   调试   

原文地址:http://www.cnblogs.com/1795759388-/p/8052718.html

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