zoukankan      html  css  js  c++  java
  • C语言博客05指针

    1.本章学习总结

    1.1 思维导图

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

    1.2.1 学习体会

    本章所学习的指针是一个崭新的知识点,在之前的学习中从未接触过,只知道数组的首地址,
    所以学起来有点耗时间,虽然现在并未感觉到指针的强大,但是稍微知道一点c语言的人都知
    道指针是c语言在所有语言中最特殊的一块,也知道下学期的数据结构会大量用到c语言,故
    学起来还是比较认真的,所以自认为掌握得还不错。

    1.2.2 代码累计

    2.PTA总分

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

    2.2 我的总分

    总分:110

    3.PTA实验作业

    3.1 PTA题目1

    7-2 说反话-加强版 (20 分)
    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
    输入格式:
    测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。
    输出格式:
    每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。

    3.1.1 算法分析

    ```c
    定义静态字符数组p[500000]
    定义整型数i,flag=-1  //flag用来控制单词间只有一个空格
        for i=0 to (p[i]=getchar () )!='\n'   //当接收到换行符时停止
        p[i]='\0'  //将'\n'改为'\0'
        for i-- to i=0 do
            if p[i]=' ' then  //将空格全部转化为'\0'
                p[i]='\0'
            if i=0&&p[i]!='\0' then 
                printf("%s",p)      //若i=0时不是空格,则输出最后一个单词
            else if p[i]='\0'&&flag=1 then
                printf("%s",&p[i+1])   //一个个单词输出
            else if p[i]!='\0' then 
                if flag=0 then
                    输出空格      //在单词间输出一个空格
                flag=1
        end for
    ```

    3.1.2 代码截图

    3.1.4 PTA提交列表及说明

    Q1:第一遍做的时候,出现了单词也反过来的问题
    A1:重新审题发现题目看错,经过修改解决了
    Q2:后来又出现了,第1个单词前面多了一个空格的现象
    A2:经过修改解决
    Q3:但是又出现单词间空格消失的现象
    A3:干脆引入了一个flag,完美解决这个问题

    4.大作业

    4.1.改造函数介绍

    1.函数1

    2.函数2

    3.函数3

    4.3 与原有函数代码比较

    1.原来的代码没有用到指针而是用全局变量
    2.原来的代码用到的变量多,而用字符数组来存放算式可以有效减少变量的使用,可避免由于变量太多所导致的混乱
    3.新增加了清屏的功能,可以使运行界面看起来更加友好。
    4.比起原来的代码,现在的代码看起来功能更加明了。

    4.4 改进大作业总结

    1.指针在代码中的强大作用在此次大作业中初次感到
    2.感觉此次大作业还有些不足,没有将代码写的更简洁,这可能跟之前的写法有关
    3.指针的使用还不够熟练,得继续练习
    4.与同学的代码相比,还是功能欠缺
    5.比起之前的代码,bug有所减少
    6.用字符数组来存放算式是一个好的方法,当实行起来并不顺利。
  • 相关阅读:
    斐波那契数列 的两种实现方式(Java)
    单链表反转
    单链表合并
    两个有序list合并
    list去重 转载
    RemoveAll 要重写equals方法
    Java for LeetCode 138 Copy List with Random Pointer
    Java for LeetCode 137 Single Number II
    Java for LeetCode 136 Single Number
    Java for LeetCode 135 Candy
  • 原文地址:https://www.cnblogs.com/putianliuzhong/p/10127878.html
Copyright © 2011-2022 走看看