c语言博客作业-指针
一、PTA实验作业
题目1:
1. 本题PTA提交列表
2. 设计思路(用代码表示扣分)
定义整型变量i,count记录平均分,实型变量sum保存总分
for i=0 to n
sum = sum+*(s+i) i++
平均分=sum/n;
for i=0 to n
如果 *(s+i)大于等于平均分
count++
return count
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 一开始想让指针变量自增进行运算,但是让它自增的方法有些不对,而且也有自增了回不来的问题,目前还没解决,知换了方法
- 忘记给sum和count赋初值,
- sum的类型定义错误,应该是浮点型,我定义了int型,但是我有(sum*1.0)再除以n运算,结果还是错误,更改后正确
题目2: 找最大值及其下标
1. 本题PTA提交列表
2. 设计思路(用代码表示扣分)
定义整型变量i用作循环,max返回最大值
令 max=*a;
for i=0 to n
如果 max<*(a+i)
max=*(a+i) *b=i存放大的数的下标
i++
return max
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 编译错误忘记加封号,思路清楚了就没有什么问题了
题目3:输出月份英文名
1. 本题PTA提交列表
2. 设计思路(用代码表示扣分)
如果n>=1且n<=12
switch(n)
是某个月则返回该月的英文
else
返回 null
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 最开始没有想到直接用switch语句直接进行选择,用定义数组的方法来做,但没有给数组变量赋初值的情况下,只有返回值为空的情况正确,后来参考了别人的做法改用switch 语句
- return字符时要加双引号
三、阅读代码(2分)
- 功能:寻找最长字符串
- 优点:定义了字符变量op来吸收回车,避免了字符数组可能带来的错误,思路清晰,注释得当,排版也很好
找两篇优秀代码贴图展示,并说明该代码功能是什么,优点是什么?
代码可以是自己同学代码,也可以是其他地方找的关于C的代码。
四、本周学习总结
1.自己总结本周学习内容。
- 字符串指针所指向的值是存放字符串常量首字符的储存单元的地址
- printf函数输出字符串时数组名、指针和字符串常量都可以作为输出参数,输出参数给出起始位置,‘\0’控制结束
- 在string.h中声明的一些字符串处理函数:
字符串复制函数:
char *strcpy (char*s1.char*s2)
把字符串s2的内容复制到s1,可简化为
strcpy(s1,s2)
s1必须是字符数组基地址,s2可以是字符数字名或字符串常量
字符串连接函数:stract(s1,s2)
s1必须是字符数组基地址,s2可以是字符数字名或字符串常量
s1中原有的结束符被放在连接后的结束位置上
字符串比较函数:strcmo(s1,s2)
此时s1、2都可以是字符数组名或字符串常量
从两个字符串的首字符开始,一次比较对应字符的asc码,直到遇到不同的字符或结束符
若都相同 return 0
else 返回第一个不同字符比较的差值
字符串长度函数:strrlen(s1) 可以返回有效字符的个数 ,即不包括结束符
- 结构变量的定义:
struct 结构名 {
类型名 结构成员名1
...
类型名 结构成员名n }
- 通过结构成员操作符“.”对某个成员可以进行引用,相同类型的结构变量也可以直接赋值
- 在结构类型的嵌套定义时,必须先定义成员的结构类型,再定义主结构类型
- 结构变量定义有三种方式:单独定义。混合定义和无类型名定义,注意最后一种由于没有给出结构名,在此定义语句后面无法再定义这个类型的其他结构变量
- 定义结构数组:结构类型名 数组名 数组长度
- 结构指针也可以作为函数参数,结构变量在参数传递时把实参结构中每一个成员值传递给形参的成员,而使用结构指针传递一个地址值即可
2.罗列本周一些错题。