c语言博客作业05--指针

指针

1.本章学习总结

1.1 思维导图

c语言博客作业05--指针_第1张图片

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

在这段时间学习中,我接触了指针,虽然知道指针是c的灵魂,会很难,但是开始学习就有点懵了,尤其是感觉到老师节奏加快了。
在指针的调用还是挺迷茫的,不知道什么时候要用指针,而且指针的题目很多用数组也可以解决,这就让我更加不懂指针该怎么用啦。

1.2.2 代码累计

2.PTA总分

2.1截图PTA中循环结构2次题目集的排名得分

2.2 我的总分:125

3.PTA实验作业

3.1 PTA题目1

给定程序中函数fun的功能是:求出在字符串中最后一次出现的子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。

3.1.1 算法分析

首先main函数传了两个地址到fun函数中
所以fun函数要做的就是比较两个地址的内容
--定义*p=t,*m;//定义两个指针,flag=0,sign=0;
--while(*s)遍历*s
-----if(*s等于*t)
---------while(*t)遍历*t
-----------如果与*s相同就记住该地址
---------end  while
----end if
----判断输出

3.1.2 代码截图

c语言博客作业05--指针_第2张图片
c语言博客作业05--指针_第3张图片

3.1.4 PTA提交列表及说明

A:虽然提交全是对的,私底下在dev调试了好久,主要是在比较和遍历的时候会出问题
Q:通过调试慢慢思考,慢慢调试出答案

4.大作业

4.1.改造函数介绍

4.1.1.函数1

begin://以防输入非法字符,可以重新输入
定义  i=0,j,answer;
字符数组“+-*/”
if level=1 then
    生成一步一位数加减乘除计算式,并储存
    end if
else if level==2 or  level==3 then
    生成两步2/3位加减计算式,并储存
    end if
if  strlen(exp)==3  then//判断是否可以整除,不可以则重新生成表达式
        if  !IsExp(exp)   then  goto begin  end if
end if

c语言博客作业05--指针_第4张图片
c语言博客作业05--指针_第5张图片

4.1.2.函数2

作用是来判断除法和减法的错误
if 前一个数不能整除后一个数 then
    flag=0
end if
if 当运算符为-或/且前一个数小于后一个数时 then
    flag=0
end if

c语言博客作业05--指针_第6张图片

4.1.3.函数3

定义 m,sum=0,i,answer;
char oldc='+';
if  strlen(exp)==3  then//如果是第一级别的情况
---if  +  then  answer=前面的数+后面的数  end if
---else if  -  then  answer=前面的数-后面的数  end if
---else if  *  then  answer=前面的数*后面的数  end if
---else if  /  then  answer=前面的数/后面的数  end if
end if
else//如果是第二,三级别的情况
---for  i=0  to  strlen(exp)
-------if  字符在0到9之间  then
-----------m=10*m+(*(exp+i)-'0');//求每个数的数值
-------end if
-------else //字符不在0到9之间  
-----------if  oldc=='+'  then  sum=sum+m;   end if
-----------else  sum=sum-m;  end else
-----------m=0;
-----------oldc=*(exp+i)
------end else
--end for
--answer=sum;
end else
return answer

c语言博客作业05--指针_第7张图片

4.3 与原有函数代码比较

原来的代码:
c语言博客作业05--指针_第8张图片
c语言博客作业05--指针_第9张图片
c语言博客作业05--指针_第10张图片

两者不同在于函数的运用和指针的运用,还有就是数组,运用了这些后使得代码更加简洁明了
原来的代码很长而且很杂乱,用了指针一些全局变量就可以去掉了,使得代码的全局变量减少
也减少了一些失误的发生;当然,用了指针可以使得代码的延展性加强,以后修改可以更加方便

4.4 改进大作业总结

第一次写大作业的时候感觉很难,并不知道如何下手,万事开头难,总算写完了第一次的大作业,
而这次修改的难度比上次还大,因为指针学的并不清晰,弄得自己弄代码的时候一直出错,还改不过来
最后只要求助其他同学。
但是通过这次大作业,可以加深我对函数的理解,在之后拓展的时候只要修改小部分在加上定义新函数就可以

你可能感兴趣的:(c语言博客作业05--指针)