指针

指针

一、PTA实验作业

6-4 字符串的连接

本题要求实现一个函数,将两个字符串连接起来。

1. 本题PTA提交列表

2. 设计思路

把要连接起来的字符串当成一个数组,要连接的两串字符为不同组的字符串,利用数组下标的改变和指针指向地址的改变实现字符串的连接

指针_第1张图片

3.本题调试过程碰到问题及PTA提交列表情况说明。

指针_第2张图片

①没有将字符串当成数组

②不能用*s++,因为*s表示的值,++只能实现s指向的值加1,并指向下一地址

解决方法:定义一个指针数组,将字符串里的每个字符看作一个数组元素

调试结果:

指针_第3张图片

 

 

7-1 输出学生成绩

本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。

1、本题PTA提交列表

2、设计思路

用指针地址改变的方式在数组中相邻两个数依次查找最值,如果max的值比下一个来小,则下一个为最大值,找最小值同

指针_第4张图片

 3、本题调试过程碰到问题及PTA提交列表情况说明。

指针_第5张图片

 

 (1)错误点:段错误

数组a定义的元素数量不够大,导致不能实现最大N

解决方法:将数组a[1000]改为a[10000]

调试结果

指针_第6张图片

 

6-9 计算最长的字符串长度

本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度

1. 本题PTA提交列表

2. 设计思路

用函数strlen计算字符值长度,用一个固定值a=0与strlen计算字符长度的数值比较,满足a

指针_第7张图片

3.本题调试过程碰到问题及PTA提交列表情况说明。

 指针_第8张图片

 

  二、同学代码结对互评

6-7 输出月份英文名

陈冰艳的代码

指针_第9张图片

我的代码

指针_第10张图片

不同点:

同学的代码用switch  case 语句,实现一个数字对应一个月份

我用指针的方式,定义指针数组,用for循环判断与数组下标对应的月份,然后返回数组的下标

我更喜欢同学的代码,她的代码比较简单易懂 

三、截图本周题目集的PTA最后排名

四、本周学习总结

1.你学会了什么?

①6个常用的字符串处理函数

②指针变量的定义

类型名 *指针变量名

③指针的基本运算

&给出变量的地址

*用于访问指针所指向的变量(间接访问运算符)  

④指针变量的初始化

类型名 *指针变量=&a    如 int *p1=&a

⑤指针变量的自加与自减运算

*p++=*p(++)

*++p=*(++p)

2、本周的内容,你还不会什么?

①动态内存分配还不是很会运用

②指针数组运用

③指针变量在函数间的传递

④不会的题:PTA  6-2、6-11、7-2

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(指针)