指针
一.本题PTA提交列表
题目1:输出学生成绩
1.本题PTA提交列表
2.设计思路
定义一个数组a[10000]存放多个学生的成绩,定义一个指针p指向数组的地址。先将指针p指向数组的第一个值a,然后通过循环输入多个学生的成绩。假设第一个学生的成绩是最低成绩,让max=p,p指向它的地址&a[0],通过循环判断它的值与后面同学的成绩的大小,如果后面同学的成绩更低则用该同学的成绩替换最小值。最大值同理。将所有同学的成绩加起来除以人数得到平均值。最后输出最大值,最小值,平均值。
3.本题调试过程遇到问题及PTA提交列表情况说明
一开始让指针p指向数组的第一个值a[0],通过循环让后面的值依次与它进行比较,则p=&a[0]这句话应当放在for循环内部,使其每次进入循环都执行,如果放在循环外则第一次循环后若p指针被替代则无法完成后面的比较。
题目二:在数组中查找指定元素
1.本题PTA提交列表
2.设计思路
定义一个数组存放多个整数,再输入一个整数x,调用函数在数组中利用循环将数组中的数依次与x进行比较,如果有其中一个数与x相等,则让标识index等于这个数在数组中的下标,如果循环结束后仍未找到则让index等于-1,然后返回index的值到主函数,如果index不等于-1,则输出index的值,否则输出No found。
3.本题调试过程遇到问题及PTA提交列表情况说明
本题为格式错误,认真观察了下发现又是没有注意到题目给的格式,漏掉了\n。
题目三:使用函数的选择法排序
1.本题PTA提交列表
2.设计思路
定义一个数组存储多个整数,利用函数和排序法将这些数进行排序,然后返回主函数后输出。
3.本题调试过程遇到问题和PTA提交列表情况说明
本题仍为格式错误,在依次排序后输出所有数字后应该换行进行下一组数据的排序,否则系统不会自动换行。
二.同学代码结对互评
1.互评同学名字:朱淳淳
2.我的代码 同学的代码
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
同学的代码用了动态分配,我的没有。我的代码更加简便,但是同学的代码更加严谨高级,用了我没有用的知识,所以我更喜欢同学的代码。
三.截图本周题目集的PTA最后排名
四.本周学习总结
1.你学会了什么?
学会了指针代替数组来存放数据
2.你还不会什么?
对指针的使用还不是很熟练,有些题目还是只能用数组完成。
并且对动态分配不能很好的理解,还需要加强学习。