C语言博客作业—指针
一、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语言博客作业—指针的更多相关文章
- c语言博客作业-指针
一.PTA实验作业 题目1: 1. 本题PTA提交列表 2. 设计思路(用代码表示扣分) 定义整型变量i,count记录平均分,实型变量sum保存总分 for i=0 to n sum = sum+* ...
- C语言博客作业指针
一.PTA实验作业 题目1:统计大于等于平均分人数 本题PTA提交列表 设计思路 定义形参s存放s的首地址,n存放人数m的值,aver存放平均分aver的地址 定义i控制循环,count用来统计高于等 ...
- C语言博客作业6---结构体&文件
C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...
- C语言博客作业5--指针
C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- C语言博客作业4--数组
C语言博客作业4--数组 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言博客作业3--函数
C语言博客作业3--函数 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言|博客作业10
问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...
- C语言博客作业08
C语言I博客作业08](https://www.cnblogs.com/490-85-00-58-/p/11863312.html) 问题 回答 这个作业属于那个课程 C语言程序设计II 这个作业要求 ...
随机推荐
- Tea HDU - 5881
Tea is good. Tea is life. Tea is everything. The balance of tea is a journey of pursuing balance of ...
- ubuntu安装pycharm桌面快捷方式
1.sudo gedit /usr/share/applications/Pycharm.desktop 2.输入 [Desktop Entry] Encoding=UTF-8 Name=Pychar ...
- Android破解学习之路(七)—— 乐秀视频编辑 内购破解 专业版 价值25元的破解
按照之前的支付宝破解,搜索9000的十六进制,之后... 但是,这样测试的时候,没有破解成功,便是继续研究 搜索关键字支付失败,之后找到了指定的smali文件,观察了许久,发现里面有个switch跳转 ...
- Android中selector的使用
第一种方法(强烈推荐) 方法:selector做遮罩,原图做background. 我们做按钮的时候经常需要用两个图片来实现按钮点击和普通状态的样式,这就需要提供两种图片,而且每个分辨率下还有多套图片 ...
- 【BZOJ3670】动物园(KMP算法)
[BZOJ3670]动物园(KMP算法) 题面 BZOJ 题解 神TM阅读理解题 看完题目之后 想暴力: 搞个倍增数组来跳\(next\) 每次暴跳\(next\) 复杂度\(O(Tnlogn)\) ...
- Poj3678:Katu Puzzle
大概题意 有\(n\)个数,可以为\(0/1\),给\(m\)个条件,表示某两个数经过\(or, and, xor\)后的数是多少 判断是否有解 Sol \(2-SAT\)判定 建图 # includ ...
- [SDOI2013]费用流
然而这是一道网络流... 如果满足Bob,使总费用最大: 设最大流的每条边流量(不是容量)为w[i],分配到每条边的费用为p[i],最大流量为wmax,p[i]的和为P 那么显然w[i] * p[i] ...
- 一个题目涉及到的50个Sql语句
原博客地址 http://blog.csdn.net/maco_wang/article/details/6281484 Student(S#,Sname,Sage,Ssex) 学生表 Course( ...
- Spring【AOP模块】就是这么简单
前言 到目前为止,已经简单学习了Spring的Core模块.....于是我们就开启了Spring的AOP模块了...在讲解AOP模块之前,首先我们来讲解一下cglib代理.以及怎么手动实现AOP编程 ...
- 使用zxing生成解析二维码
1. 前言 随着移动互联网的发展,我们经常在火车票.汽车票.快餐店.电影院.团购网站以及移动支付等各个场景下见到二维码的应用,可见二维码以经渗透到人们生活的各个方面.条码.二维码以及RFID被人们应用 ...