一、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. Docker 小记 — MySQL 与 Redis 配置

    前言 本篇随笔是继 "Docker Engine" 与 "Compose & Swarm" 之后的一个实例补充,初衷是记录测试环境中的一次 MySQL ...

  2. 第九篇:随机森林(Random Forest)

    前言 随机森林非常像<机器学习实践>里面提到过的那个AdaBoost算法,但区别在于它没有迭代,还有就是森林里的树长度不限制. 因为它是没有迭代过程的,不像AdaBoost那样需要迭代,不 ...

  3. Luogu2973:[USACO10HOL]赶小猪

    题面 Luogu Sol 设\(f[i]\)表示炸弹到\(i\)不爆炸的期望 高斯消元即可 另外,题目中的概率\(p/q\)实际上为\(1-p/q\) 还有,谁能告诉我不加\(EPS\),为什么会输出 ...

  4. [BZOJ1053] [HAOI2007] 反素数ant (搜索)

    Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数 ...

  5. mysql方言不支持blob类型解决方案

    package com.gstone.history.entity; import java.sql.Types; import org.hibernate.Hibernate; import org ...

  6. Spring @AfterReturning 总是返回null

    在学习Spring Aop时,遇到一个问题,当 @Around(环绕通知)与 @AfterReturning(后置通知)共存 时,@AfterReturning 通过属性 returning = &q ...

  7. 基于Avocado 的 QData MySQL自动化测试.md

    qdata-mysql 自动化测试概要设计 │   ├── 1. 依赖环境 │   │   ├ │   │   └───── │   ├── 2. 配置文件 │   │   ├ │   │   └── ...

  8. 实用的Docker入门

    1 Docker概述 Docker和虚拟机一样,都拥有环境隔离的能力,但它比虚拟机更加轻量级,可以使资源更大化地得到应用.首先来看Docker的架构图: 理解其中几个概念: Client(Docker ...

  9. GitHub起步---创建第一个项目

    ---恢复内容开始--- 刚起步学习GitHub,边学边说! {参考教程:http://blog.csdn.net/steven6977/article/details/10567719}这里描述的很 ...

  10. Python 从入门到入门基础练习十五题

    **a) 6.成绩转换:编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于或等于60的输出"pass",否则输出"fail",成绩不四舍五入. a = ...