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 大作业总结

  • 问题:当我对插入清屏函数时,运行时正确率却消失不见;
  • 解决:首先是更换函数位置,发现依旧不管用
    上述方法无法解决,便百度屏幕冻结函数来暂停,使正确率能够输出。
  • 总结:遇到的问题可以尝试自己解决,或者可以百度更多的方法、函数。记得曹老师的一句话:“平时可以不用一定要搞懂某些东西,用到的时候能懂就行。”