一、PTA实验作业

【7-1 数组元素循环右移问题】

1、本题PTA提交列表

2、设计思路

先通过循环给数组赋值,然后运用循环嵌套,外层循环m次并给k赋值,最后给a[0]赋值,内层循环将每一个数向后移动一位。整个循环将每一位数向后移动一位并把最后一位移至第一位。最后通过循环输出移动后的数组。

3、本题代码

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

错误点:1、嵌套循环条件及赋值错误导致数组移位错误

    2、忽略”序列结尾不能有多余空格“,导致输出格式错误,将最后一个数分开输出即可

【7-6 冒泡法排序】

1、本题PTA提交列表

2、设计思路

输入N,K后,通过循环输入数组,后运用循环嵌套,外层循环确定循环次数为K次,内层循环依次判断相邻两个数的大小并把大的那个数放在后面。当循环结束后用循环输出排序后的数组。

3、本题代码

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

错误点:1、外层循环条件出错导致循环次数过多

    2、忽略”尾不得有多余空格“导致输出格式有误

【7-12 选择法排序】

1、本题PTA提交列表

2、设计思路

通过循环输入数组,运用循环嵌套,外层循环确定循环次数(n-1)并对x赋值k,内层循环通过依次比较相邻两数确定最大数的下标并赋值给x,之后外层循环进行a[x]与a[k]的交换,进行(n-1)次后完成排序。最后通过循环输出排序后的数组。

3、本题代码

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

错误点:1、没有在内层循环之前给x赋值,导致交换出错。外层循环内内层循环之前需再定义一个x,然后才能完成两个数的交换

    2、忽略"行末不得有多余空格",导致输出格式出错

二、同学代码结对互评

  互评同学:吴振迪

  互评题目:7-6

  代码比较:

左侧为吴振迪同学的代码,右侧为我的代码。可以看出我俩的思路大致相同,但是最后的输出方式不同,吴振迪的比较简明直接,我的比较繁琐易懂。相比之下我更喜欢吴振迪的方式。

三、PTA最后排名

四、本周学习总结

  1、学习了一维数组、二维数组的定义与运用,并熟练掌握

    了解了应对不同种类的数组题型时的处理方法

    学习了对于string函数中strcpy()、strcmp()、strcat()、strlen()的运用

  2、不足:string使用仍不熟练,容易写错导致程序出错

  3、不会的题:7-7,7-15,7-16,7-25,7-28,7-29,7-30