一.PTA实验作业
7-1
1.本题PTA提交列表
2.设计思路:本题采用函数结构。先输入要的数字个数N,然后输入右移的次数M,接着循环输入N个数字,如果循环次数为0,则进入函数2,若不为0,则进入函数1.
在函数2 中数字按照原有顺序输出只要注意最后一个数字后面不带空格即可,而在函数1中,要先M%=N保证m<n,然后先从i==n-m开始循环输出知道i==n结束,接着再从i==0开始循环,到i==n-m-1,仍然要注意最后一个数字后面不能有多余的空格。
3.
(1)错误样例1:第十行m-=n有误,使下面的m值发生改变使后续的程序出现错误。
(1)错误样例2:在sample为m==n时会出现错误,因为在第一个if中m已经等于0了,所以会进入第二个if,所以结果会输出两遍。
(1)错误样例3:这个大概率是PTA不接受这个答案,我试过了所有可能的sample,其中包括m==n,n==0,m>n,m<n,m==2*n,这些都尝试过在Dev上都是对的。
7-4
1本题PTA提交列表
2设计思路:
定义一个能存放大于二十个数的数组,然后循环输入这N个数,接着循环查验是否有与输入的M相同的数,如果有就输入其下标,当i==n时说明没有与M相同的数,则输出“Not Found”,当初有一个条件i==n&&a[i]!=x,现在发现&&后面的条件多余,故流程图中未画出。
3
(1)错误样例1:在定义时数组不够大只能容纳十个数,题目要求N<=20是的最大N取不到。
(1)错误样例2:第十三行应该是i==n而不是i==n-1,和长短整型无关。
7-20
1.本题PTA提交列表
2.设计思路
定义一个长度不超过10000的数组,然后输入一个只由英文字符组成的字符串,从i==0开始循环检查每一个字符,如果出现大小写的“G”“P”“L”“T”,则分别记录为g++,p++,l++,t++,在此循环结束后进入下一个循环,g,p,l,t分别有多少就按照“GPLT”的格式输出多少,不能凑足一个“GPLT”的就直接按照“GPLT”的顺序输出,直到输完所有的数后结束循环。
3
(1)错误样例1:在每一个“GPLT”后忘记空格。
(1)错误样例2:因为循环写的是(while(1)),所以程序进入死循环出不来,错误为运行超时。
二.同学代码结对互评
同学姓名:张瑜
我的不需要引用变量count,而张瑜的表达的更加清晰能让人一目了然。
三.本周题目集的PTA最后排名
我的学习总结
1.我学会了什么
1.一维数组的定义和引用
(数组长度是一个常量)
(数组下标从0开始,下标不能越界)
(数组名是一个地址常量)
(选择排序法,冒泡排序法)
2.二维数组的定义和引用
3.字符串
(不能用运算符对字符串做运算)
(字符串以数组形式存在)
(0和’0\’时一样的,但是和’0’不同)
(程序中str[i]=’\’不可以省略,否则字符串就不能正常结束)
(字符串函数)
(字符串的输入输出)
2.我还不会什么
PTA的7-8和7-9。