指针
指针
一、PTA实验作业
6-4 字符串的连接
本题要求实现一个函数,将两个字符串连接起来。
1. 本题PTA提交列表
2. 设计思路
把要连接起来的字符串当成一个数组,要连接的两串字符为不同组的字符串,利用数组下标的改变和指针指向地址的改变实现字符串的连接
3.本题调试过程碰到问题及PTA提交列表情况说明。
①没有将字符串当成数组
②不能用*s++,因为*s表示的值,++只能实现s指向的值加1,并指向下一地址
解决方法:定义一个指针数组,将字符串里的每个字符看作一个数组元素
调试结果:
7-1 输出学生成绩
本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。
1、本题PTA提交列表
2、设计思路
用指针地址改变的方式在数组中相邻两个数依次查找最值,如果max的值比下一个来小,则下一个为最大值,找最小值同
3、本题调试过程碰到问题及PTA提交列表情况说明。
(1)错误点:段错误
数组a定义的元素数量不够大,导致不能实现最大N
解决方法:将数组a[1000]改为a[10000]
调试结果
6-9 计算最长的字符串长度
本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度
1. 本题PTA提交列表
2. 设计思路
用函数strlen计算字符值长度,用一个固定值a=0与strlen计算字符长度的数值比较,满足a<strlen(s[i]),则令a=strlen(s[i]),最后向主函数返回a
3.本题调试过程碰到问题及PTA提交列表情况说明。
二、同学代码结对互评
6-7 输出月份英文名
陈冰艳的代码
我的代码
不同点:
同学的代码用switch case 语句,实现一个数字对应一个月份
我用指针的方式,定义指针数组,用for循环判断与数组下标对应的月份,然后返回数组的下标
我更喜欢同学的代码,她的代码比较简单易懂
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.你学会了什么?
①6个常用的字符串处理函数
②指针变量的定义
类型名 *指针变量名
③指针的基本运算
&给出变量的地址
*用于访问指针所指向的变量(间接访问运算符)
④指针变量的初始化
类型名 *指针变量=&a 如 int *p1=&a
⑤指针变量的自加与自减运算
*p++=*p(++)
*++p=*(++p)
2、本周的内容,你还不会什么?
①动态内存分配还不是很会运用
②指针数组运用
③指针变量在函数间的传递
④不会的题:PTA 6-2、6-11、7-2