1.本章学习总结算法
1.1 思惟导图数组
本章所学习的指针是一个崭新的知识点,在以前的学习中从未接触过,只知道数组的首地址,
因此学起来有点耗时间,虽然如今并未感受到指针的强大,可是稍微知道一点c语言的人都知
道指针是c语言在全部语言中最特殊的一块,也知道下学期的数据结构会大量用到c语言,故
学起来仍是比较认真的,因此自认为掌握得还不错。
1.2.2 代码累计数据结构
2.PTA总分函数
2.1截图PTA中函数题目集的排名得分学习
2.2 个人总分测试
总分:110
3.PTA实验做业spa
3.1 PTA题目13d
7-2 说反话-增强版 (20 分) 给定一句英语,要求你编写程序,将句中全部单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。 输出格式: 每一个测试用例的输出占一行,输出倒序后的句子,而且保证单词间只有1个空格。
3.1.1 算法分析指针
```c 定义静态字符数组p[500000] 定义整型数i,flag=-1 //flag用来控制单词间只有一个空格 for i=0 to (p[i]=getchar () )!='\n' //当接收到换行符时中止 p[i]='\0' //将'\n'改成'\0' for i-- to i=0 do if p[i]=' ' then //将空格所有转化为'\0' p[i]='\0' if i=0&&p[i]!='\0' then printf("%s",p) //若i=0时不是空格,则输出最后一个单词 else if p[i]='\0'&&flag=1 then printf("%s",&p[i+1]) //一个个单词输出 else if p[i]!='\0' then if flag=0 then 输出空格 //在单词间输出一个空格 flag=1 end for
```
3.1.2 代码截图code
3.1.4 PTA提交列表及说明
Q1:第一遍作的时候,出现了单词也反过来的问题
A1:从新审题发现题目看错,通过修改解决了
Q2:后来又出现了,第1个单词前面多了一个空格的现象
A2:通过修改解决
Q3:可是又出现单词间空格消失的现象
A3:干脆引入了一个flag,完美解决这个问题
4.大做业
4.1.改造函数介绍
1.函数1
2.函数2
3.函数3
4.3 与原有函数代码比较
1.原来的代码没有用到指针而是用全局变量 2.原来的代码用到的变量多,而用字符数组来存放算式能够有效减小变量的使用,可避免因为变量太多所致使的混乱 3.新增长了清屏的功能,可使运行界面看起来更加友好。 4.比起原来的代码,如今的代码看起来功能更加明了。
4.4 改进大做业总结
1.指针在代码中的强大做用在这次大做业中初次感到 2.感受这次大做业还有些不足,没有将代码写的更简洁,这可能跟以前的写法有关 3.指针的使用还不够熟练,得继续练习 4.与同窗的代码相比,仍是功能欠缺 5.比起以前的代码,bug有所减小 6.用字符数组来存放算式是一个好的方法,当实行起来并不顺利。