一、PTA实验作业(5分)
题目1:6-3 统计大于等于平均分人数
1. 本题PTA提交列表(要提交列表,不是结果)
2. 设计思路(伪代码或流程图)
定义变量sum 存放成绩总和,i循环变量
for i=0 to n-1
执行 sum= sum + a[i]
end for
计算平均成绩aver = sum/n;
for i =0 to i=n-1
找大于平均成绩的人 : if (s[i]>=*aver) count = count + 1;
return count;
3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 用‘ 0’ 作为跳出循环条件结果导致段错误 , 最后改为n-1
题目2:6-8 使用函数实现字符串部分复制
1. 本题PTA提交列表(要提交列表,不是结果)
2. 设计思路(伪代码或流程图)
定义变量count存放字符字节,i,j 作为循环变量
调用函数计算字节数 count = strlen (t);
判断m是否大于count若m超过输入字符串的长度,则结果字符串应为空串。
不是则 for i=m-1,j=0 to count
赋值 s[j] = t[i];
end for
3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)
4.本题调试过程碰到问题及PTA提交列表情况说明。
- for 循环从m开始导致少了一个字符,后来改为m-1
题目3: 字符串串动变化
1. 本题PTA提交列表(要提交列表,不是结果)
2. 设计思路(伪代码或流程图)
3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 用循环条件错了,最后将字符长度作为条件,就不会运行超时了
二、截图本周题目集的PTA最后排名。(2分)
三、阅读代码(2分)
- 指针报数的题目:先将数组每个元素赋予0,利用嵌套循环,每次数到m时就令这时的数组为这个人的序号,如此循环得出答案,简洁
- 使用指针进行子串删除,在for循环中删除子串,并后面字符左移
四、本周学习总结(1分)
1.自己总结本周学习内容。
指针数组可以不用返回值。
指针相减等于地址间的差距,不能用相加,
在每个数组结束时都要有结束符‘ ’,可以用来作为循环停止的标志,
gets(),puts()来输入和输出字符串
记住了一些库函数:strstr用来找子串并返回子串所在地址,strlen用来计算字符串的字节数,但和sizeof有差别,sizeof不用再调用库函数,strcmp是用来比较两字符串是否相等,是就返回0。 strcpy 是复制字符串,strcat是连接字符串
2.罗列本周一些错题。
忽略str也是数组,在数组上进行加1就改变了地址导致语法错误
第一个空把传入的字符看错为t,第三个空,认为将p的地址赋予s就可以不用返回字符串了