C语言博客05--指针

1.本章学习总结

1.1 思维导图

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

1.2.1 学习体会

本章学习了指针的应用,指针是C语言中很有特色的一个东西,其他的语言基本没有这个功能,直接在内存上对变量赋值,同时也学到了很多函数可应用在字符串中运用比如strlen、strcat、

strcmp等等,对数组的大小进行控制也学到了一个新的方法,动态内存分配,可以对数组的大小进行控制,防止像以前那样给数组定义过大的范围,浪费内存。以后也能更好的运用数组。

学完了指针,以后在写程序时需要用函数对变量进行赋值时就不用那么多函数一一进行返回值,可以直接在函数中用指针对函数外面的变量进行修改。

1.2.2 代码累计

2.PTA总分

2.1截图PTA中函数题目集的排名得分

2.2 我的总分:110

3.PTA实验作业

3.1 PTA题目1

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

3.1.1 算法分析

输入字符串str
x=strlen(str);
max=x-1;
for i=max to 0 then
     if(字符等于' ') then
          for j=i+1 to max then
               输出下标从i+1到max的字符
               输出空格 
          end for
     max=i-1;
     end if
end for

3.1.2 代码截图

3.1.4 PTA提交列表及说明


Q1:刚开始段错误因为数组的范围不够
A1:刚开始用的是二维字符数组做的,一直调试还是做不出来,后来就改成现在这个一维数组的做法
Q2:输入一个单词但单词前面有空格时答案错误
A2:在输入空格前加了一个判断是否为一个单词就解决了

4.大作业

4.1.改造函数介绍

1.函数1

  • 伪代码介绍函数思路

switch(level)  then         //用户选择的难度等级
      case 1:
          生成一位数随机数和一个运算符;break;
      case 2:
          生成两位数随机数和两个运算符;break;
      case 3:
          生成三位数随机数和两个运算符;break;
计算运算结果answer
end switch
将运算符存入exp数组
返回answer
  • 截图函数代码。



4.2 与原有函数代码比较

  • 在原有的程序当中,对输出算术表达式我并不是储存在一个数组中,而是直接进行输出,若有两步就先输出两个数相加,再输出最最后一个数进行的运算的运算符和等于号,此次改成了

将一条算术表达式储存在一个字符数组里最后输出让用户看到并计算结果。用字符数组输出一整条语句,可以使代码更简洁,但是中间的步骤会比较多,要将数字转化为字符再存入字符

数组中。如果直接输出的话代码就比较简单思路也比较简单,但是思路并不怎么清晰,只是得到一个数就输出一个数,随机生成一个运算符就输出一个运算符。

4.3 改进大作业总结

在写这种代码比较多的程序中,当我们想好思路后开始打代码,不要一鼓作气从头打倒尾,这样中间可能会出现很多错误,而且这种代码比较多的程序中在中间找错误不是一件容易的事,

所以在写大作业的时候,最好是分块来写,先把某一功能的代码写完然后对相应的错误进行修改,这样修改的话会比较容易找出错误,确定这一功能没什么问题后再开始写实现下一功能的

代码

posted @ 2018-12-17 12:34  porphrya  阅读(252)  评论(1编辑  收藏  举报