1.本章学习总结
1.1 思维导图
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
指针的学习,还是有点懵逼的。虽然懂得指针原理,能指向地址,能给指针赋值。但在pta中,还是难以运用指针。总的来说,对于指针的内容还需进一步了解,学习。
1.2.2 代码累计
2.PTA总分
2.1截图PTA中函数题目集的排名得分
2.2 我的总分:
函数题:50
编程题:60
总分: 110
3.PTA实验作业
3.1 PTA题目1
函数 fun 的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
3.1.1 算法分析
for(i=0;i<n-1;i++)
if(max<a[i+1]) 最大值不断的更替
max=a[i+1];x=i+1 记录最大值的位置
t=a[0];a[0]=a[x];a[x]=t 最大值与第一个位置交换
3.1.2 代码截图
3.1.3 测试数据
3.1.4 PTA提交列表及说明
- Q1:调试的时候,发现最大值没有和第一位交换
- A1:交换条件出错,而且并没有记录下最大值的位置
4.大作业
4.1.改造函数介绍
1.函数1
- 函数伪代码
void First()
{ system("cls");清屏函数
scanf n 输入训练的题量
for(i=1;i<=n;i++)
Ch( );调用函数
srand(time(0)); num=rand()%9+1; 产生一位随机数
switch(ch)
case:answer=num1+num2; 对算式的判断
.......
scanf answer; 输入答案
if(yourAnswer==answer) 对答案的判断
count=count+1; 算对计数
if(yourAnswer!=answer)
printf answer ;输出正确答案
if(i<n) 当题量少于所需题量时,选择
scanf num; if(num==1) break; 特殊情况输出
printf 正确率
system("pause"); 屏幕冻结
}
- 函数截图
2.函数2
- 函数伪代码
int Ch()
{ srand(time(0));
s=rand()%4; 得到随机数产生随机运算符
return s; 返回随机数
}
- 函数截图
3.函数3
- 函数伪代码
double rate(int count,int n)
{ double result; 定义变量
result=(count*1.0/n)*100; 计算正确率
return result; 返回结果
}
- 函数截图
4.2.与原有函数比较
-
改造前函数1和改造后函数1
区别:将原先的每级运算的函数直接封装成一个函数多级运算,减少函数个数。优点:新函数的拓展性更好了,而且可读性更强,相比旧函数代码量减少了许多。
缺点:新函数的健壮性永没有旧函数来的好,需要多加完善。
4.3 大作业总结
- 问题:当我对插入清屏函数时,运行时正确率却消失不见;
- 解决:首先是更换函数位置,发现依旧不管用
上述方法无法解决,便百度屏幕冻结函数来暂停,使正确率能够输出。 - 总结:遇到的问题可以尝试自己解决,或者可以百度更多的方法、函数。记得曹老师的一句话:“平时可以不用一定要搞懂某些东西,用到的时候能懂就行。”