一、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的作用自己没有领悟到——题目的阅读能力太差。