一、PTA实验作业

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

1. 本题PTA提交列表

2. 设计思路

    定义max表示范围数组中的最大数(初值设为a[0]),z表示找到的元素在数组中的位置;
定义指针*b,b=a(保留数组的首地址);
for a=b to b+n-1
if(*a大于max){
保留*a,z=a-b;
}
end for
用temp交换*b与*(b+z);
max=*(b+1);
for a=b+1 to b+n-1
if(*a大于max){
保留*a,z=a-b;
}
end for
用temp交换*(b+1)与*(b+z);
返回*a

3.代码截图

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

  • 一开始都写不好,换了好几次思路,但是一直会把前面的几个数全部换成最大数,最后还把后面的其他元素搞混;由于无法调试,我就利用printf输出来找错误,找了很久就是无法发现问题,上一步的结果还是正确的,下一步交换完了就是错了,不知道怎么办,然后一直在改交换的那个地方的代码,因为我觉得是那里写错了才导致了值全变成十二!但是无论怎么改答案都是一样的,我开始重新找错误,发现自己在改if语句的时候多添了一个语句却没有附上大括号,,,所以说if语句的括号要小心点。

  • 没有保留找到的值的位置,直接就和a交换;没有意识到其实是从头比较到尾,所以最后的a不是我们要的那个位置;

题目2:统计大于等于平均分人数

1. 本题PTA提交列表



2. 设计思路

3.代码截图

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

  • 没有s--,count比预期的要少一个;

题目3:字符串串动变化

1. 本题PTA提交列表

2. 设计思路

	定义整型变量i为循环变量,x用于保留最大值字符的下标,n为字符串的长度
定义字符型变量max用于保留最大值字符;
n=strlen(p);
fori i=0 to i<n 找到max;
if(p[i]大于max){
max=p[i];
x=i;
}
end for
把max前的x-1个元素后移一个位置;
max放到首字符;

3.代码截图

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

  • 忘记了是字符串,把max设成整型变量,导致字符串第一个和第二个都输不出来;然后就是一直把一开始的首字符挪后一位的时候把它改动成了最大值的那个字符;因为我先把最大值字符放到p[0]中,然后再后移其他的字符,这样就导致了原来首字符的丢失;先后移再放最大值字符就解决了!

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

三、阅读代码

1.有n个数,使其前面个数顺序向后移m个位置,最后m个数变成前面m个数。

  • 这道题看起来没有很厉害,它只是利用指针对数组进行右移,和上周的数组作业的那道题很像;一开始不知道array_end = *(array+n-1)是什么操作,用printf输出以后发现是每个数组的最后一个元素,用了它就保存了最后一个数,然后每个元素右移一位,非常方便。

2.用指向指针的指针的方法对n个字符串排序并输出。

  • 百度了一下没学到的函数,学会了数字的排序,还没有认真研究过字符的排序~~

四、本周学习总结

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

刚开始学指针的时候非常懵逼,不懂学它的意义。后来做一些题目后开始接受它,发现一些用了它程序更加高效。本周掌握了一些基本用法,比如要遍历数组p,可以保留下首地址,在第一个循环中我让p自增即p++,就让p加到了临界点,下面再用到的时候,重新返回去。和数组,函数的结合使用,虽然刚开始用的不是很好,还是不能很直接的使用指针,有时候还是在依靠数组,但是明显感觉到了指针的优势。代码简洁了很多,而且执行效率更高。

2.罗列本周一些错题。

  • 课堂派习题:刚开始还不是很能理解指针的意思,所以不会做;

  • PTA最后报数的那道题还是调不出来。

C语言博客作业—指针的更多相关文章

  1. c语言博客作业-指针

    一.PTA实验作业 题目1: 1. 本题PTA提交列表 2. 设计思路(用代码表示扣分) 定义整型变量i,count记录平均分,实型变量sum保存总分 for i=0 to n sum = sum+* ...

  2. C语言博客作业指针

    一.PTA实验作业 题目1:统计大于等于平均分人数 本题PTA提交列表 设计思路 定义形参s存放s的首地址,n存放人数m的值,aver存放平均分aver的地址 定义i控制循环,count用来统计高于等 ...

  3. C语言博客作业6---结构体&文件

    C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...

  4. C语言博客作业5--指针

    C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...

  5. C语言博客作业06——结构体&文件

    C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...

  6. C语言博客作业4--数组

    C语言博客作业4--数组 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...

  7. C语言博客作业3--函数

    C语言博客作业3--函数 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...

  8. C语言|博客作业10

    问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...

  9. C语言博客作业08

    C语言I博客作业08](https://www.cnblogs.com/490-85-00-58-/p/11863312.html) 问题 回答 这个作业属于那个课程 C语言程序设计II 这个作业要求 ...

随机推荐

  1. Eclipse去除网上复制下来的来代码带有的行号

    一.正则表达式去除代码行号 作为开发人员,我们经常从网上复制一些代码,有些时候复制的代码前面是带有行号,如: MyEclipse本身自带有查找替换功能,并且支持正则表达式替换,使用正则替换就可以很容易 ...

  2. CodeForces 940E

    题意略. 这个题目我开始题意理解得有点问题.本题的实质是在这个数列中选择一些数字,使得选出的这些数字之和最大,用dp来解. 我们先要明确:当我选择数列长度为2 * c时,不如把这个长度为2 * c的劈 ...

  3. [MyBatis]DAO层只写接口,不用写实现类

    团队开发一个项目,由老大架了一个框架,遇到了DAO层不用写接口了,我也是用了2次才记住这个事的,因为自己一直都是习惯于写DAO层的实现类,所以,习惯性的还是写了个实现类.于是遇到错误了. 找不到那个方 ...

  4. Java集合中的HashMap类

    jdk1.8.0_144 HashMap作为最常用集合之一,继承自AbstractMap.JDK8的HashMap实现与JDK7不同,新增了红黑树作为底层数据结构,结构变得复杂,效率变得更高.为满足自 ...

  5. linux下debug工具

    在linux下开发难免会遇到bug,但是由于没有图形IDE,导致debug也变得困难,其实只要掌握一些常用的debug工具,一些错误就能很快解决,本文就介绍一些常用的工具用以调试: log 输出log ...

  6. 大三小学期 Android开发的一些经验

    1.同一个TextView几种颜色的设置: build=(TextView)findViewById(R.id.building); SpannableStringBuilder style = ne ...

  7. 大数据Hadoop与Spark学习经验谈

    昨晚听了下Hulu大数据基础架构组负责人–董西成的关于大数据学习方法的直播,挺有收获的,下面截取一些PPT的关键内容,希望对正在学习大数据的人有帮助. 现状是目前存在的问题,比如找百度.查书这种学习方 ...

  8. RESTful接口设计原则和优点

    RESTful架构优点: 前后端分离,减少流量 安全问题集中在接口上,由于接受json格式,防止了注入型等安全问题 前端无关化,后端只负责数据处理,前端表现方式可以是任何前端语言(android,io ...

  9. 发个2012年用java写的一个控制台小游戏

    时间是把杀狗刀 突然发现了12年用java写的控制台玩的一个文字游戏,有兴趣的可以下载试试哈汪~ 里面难点当时确实遇到过,在计算倒计时的时候用了多线程,当时还写了好久才搞定.很怀念那个时间虽然不会做游 ...

  10. Python基本知识

    python是一门编程语言,这是我们学习python首先要了解的内容,那么编程语言又是什么,我们为什么需要编程语言 我们讲的话是汉语,英语或者其他语言,计算机也可以讲话,但是他只会说0,1,也只能看懂 ...