一、PTA实验作业
题目1:6-5 判断回文字符串
1. 本题PTA提交列表
2. 设计思路
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- k的长度刚开始没有用strlen函数求,思路是错的
- 用了strlen函数之后,k的初始化错了,答案还是错的
题目2:6-7 过滤字符串只保留串中的字母字符
1. 本题PTA提交列表
2. 设计思路
定义count=0,i,j=0;count计数
for i=0 to *(ptr+i)='\0'遍历数组
如果是字母,把字符重新存放在字符串中*(ptr+j)=*(ptr+i)
j和count递增
end for
在新的字符串中存放结束符
返回count的值
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
题目3:6-8 使用函数实现字符串部分复制
1. 本题PTA提交列表
2. 设计思路
定义i,j做循环变量
把字符串t中的内容复制到字符串s中
for i=m-1 to i=0
for j=i to j=strlen(s)
*(s+j-1)=*(s+j)把第m个字符后面的字符存放到前面,即删去m前面的字符
end for
end for
存放结束符
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
二、截图本周题目集的PTA最后排名。
三、阅读代码
- 求出在字符串中最后一次出现的子字符串的地址,通过函数值返回
- 代码简洁,效率高
- 删除母串中的子串
- 思路清晰巧妙,从第一个字符开始,如果遇到相同的,判断下一个是否相同,代码量不大效率还高,真的值得学习
四、本周学习总结
1.自己总结本周学习内容。
- 用指针进行函数传参,更方便,不需要返回值。数组名作为函数的参数需要注意,数组的形参实际上是一个指针。当进行参数传递时,主函数传递的是数组的基地址,数组元素本身不被复制
- 指针与数组,例如*p和str【】,可以直接p=str。指针指向数组的第一个元素,即首地址。在访问内存方面,指针和数组几乎是相同的,但是也有一些细微的区别,指针是以地址作为值的变量,而数组名的值是一个特殊的固定地址,可以把它看作常量指针。字符串和字符指针类似
- 学习了一些方便的库函数
字符串的复制:strcpy
字符串的连接:strcat
字符串的比较:strcmp
求字符串的长度:strlen
struct [结构体名]//struct是关键字,不能省略;结构体名为合法标识符。
{
类型标识符 成员名;//成员类型可以是基本型或构造型
类型标识符 成员名;
············
};//结构体定义相当于一条语句,所以结尾要加‘;’,否则编译错误
- 结构体有三种定义变量类型的方法。1.先定义结构体类型,再定义变量名。2.定义结构体类型同时定义结构体类型变量。3.直接定义结构体类型变量
- 结构体变量的初始化的一般格式:结构体类型 结构体变量名={初始值表 };
- 嵌套结构体
- 结构体和数组,结构体和指针
2.罗列本周一些错题。
- PTA指针第九题求子串在母串中最后一次出现的地址。这道题不会,看了徐宏伟同学的代码还是不太懂,希望老师能在课堂上讲解一下
- PTA指针第十一题报数。参考郑伟同学的代码,但题目的意思和主函数代码不太懂。比如为什么输入11和3就会有哪些输出结果,主函数和函数中并没有提示输入这些数的语句。