一、PTA实验作业
题目1:统计大于等于平均分人数
1. 本题PTA提交列表
2.设计思路
float i为循环变量,sum=0,count=0来表示所求人数
float *p=s来储存首地址
for i=0 to n
sum +=*s
s++; 计算总分数
*aver =sum /n 计算平均数
s =p 指针重新回到首地址
for i=0 to n
如果*s++ >aver
count++ 统计高于平均数的人数
return count
3.代码截图
4.调试过程的问题
开始没有保存首地址,导致我第二次的for循环无法完成。count的一直为0.
题目2:找最大值及其下标
1.本题PTA提交列表
2.设计思路
3.代码截图
4.调试过程的问题
一开始错误的用 b=0,b++来储存下标,然后出现一堆错误,后来更理解应该怎么用指针,修改之后就对了。
题目3:判断回文字符串
1.本题PTA提交列表
2.设计思路
int I,j为循环变量
for i=0,j=strlen【s】-1 to i<=j 两端字母判断是否相同
如果 *(s+i) !=*(s+j)
break跳出循环 i++,j--
如果i<j 提前跳出了循环,即为两端字母没有完全相同
返回false
否则返回true
3.代码截图
4.调试问题
本题没问题。
二、截图本周题目集的PTA最后排名
三、代码阅读
——这是别人报数的代码。cnt+=!flag(i) 是一个亮点,这个操作可以说是很6了,这个题他的代码量很少,精简,让人羡慕。进出圈的判断也很巧妙,用一个数组来表示。
——该题是用来统计字符串的空格个数的。利用指针来计数,让函数不需要返回值来返回所计算的数,充分体现了指针的优势,让题目变得更加简单。
四、本周学习总结
1.自我总结
1.结构体——形似数组,数组里面元素的数据类型必须相同,而结构体不用要求这一点
2.结构体是一个语句,以分号结尾,大括号后的分号不要忘
3.结构体的新命名,使用 typedef来对结构体重新命名
4.学习了一些使用的库函数
5.指针的使用更加熟练,必须初始化,通过修改地址来改变变量的值,可以用于各种需要返回多个值的函数
6.同类型指针的各种运算 ,其中注意 + 无法运算,相减的话表示它们之间相隔的元素数目
7.数组可以看做常量指针
8.结构体变量一般不作为形参,而是用结构指针,这样效率更高
2.罗列本周的一些错题
课堂派预习作业
老师一再强调的字符串长度的比较需要用strcmp函数,这里还是做错了,很不应该,同时对结构体的掌握也不好,也体现了自己题目阅读能力的不足。
该题的错误体现了我结构体数组的使用还不会,同时max 和min的作用自己没有领悟到——题目的阅读能力太差。