四 PTA指针实验

 #一、PTA指针实验作业。

##题目1:

 

 

 

 

##1. 本题PTA提交列表:

  

 

##2. 设计思路: 1,创建三个数组a[100], b[100], c[100],初始化,用作容器;

                           2,把传递过来的数组s[]的前三个数据放进a[]里,把剩下的数据放入b[]里面,

                           3,最后把数组b和数组a依次赋值给数组s,最后返回子函数。

        流程图:

 

        主要描述题目算法:

void Shift(char s[])
{
    int i, t, d = 0, e;
    char a[100], b[100], c[100];
    memset(a, 0, sizeof(a));//abc数组都没有初始化,里面的数据不能保证是正常的
    memset(b, 0, sizeof(b));
    memset(c, 0, sizeof(c));
    e = strlen(s);
    for (i = 0; i<e; i++) {
        if (i <= 2) {
            a[i] = s[i];
        }
        if (i>2) {
            b[d] = s[i];
            d++;
        }
    }
    d = 0;
    t = strlen(b);
    for (i = 0; i<e; i++) {
        if (i<t) {
            s[i] = b[i];
            //c[i] = b[i];
        }
        if (i >= t) {
            s[i] = a[d];
            //c[i] = a[d];
            d++;
        }
    }
    //  puts(c);
    return;//void也写上return比较好
}

 

##3.本题调试过程碰到问题及PTA提交列表情况说明。

 

 

##题目2:

 

##1. 本题PTA提交列表:

 

##2. 设计思路:1,直接用指针指向,用函数把数组t 放到数组s 后面。

                          2,再将数组s返回到主函数中。

        流程图:

 

                      

        主要描述题目算法:

char *str_cat( char *s, char *t )
{
  strcat(s,t);
  return s;
}

 

##3.本题调试过程碰到问题及PTA提交列表情况说明。

 

因为本题有引用字符串函数,所以本就没必要再去写strcat函数的原型,偷懒也无所谓了。

##题目3:

 

##1. 本题PTA提交列表:

 

##2. 设计思路:1,主函数传递了一个参数n,在子函数中进行选择;

                          2,由指针指向返回主函数。

        流程图:

 

 

        主要描述题目算法:

char *getmonth( int n )
{
    switch(n)
    {
    case 1:return "January";
    case 2:return "February";
    case 3:return "March";
    case 4:return "April";
    case 5:return "May";
    case 6:return "June";
    case 7:return "July";
    case 8:return "August";
    case 9:return "September";
    case 10:return "October";
    case 11:return "November";
    case 12:return "December";
    default:return NULL;
    }
}

 

##3.本题调试过程碰到问题及PTA提交列表情况说明。

 

 

#二、同学代码结对互评。

##1.同学互评照片

我的代码和杨晓琪的互评

6-4 字符串的连接

##2.我的代码、互评同学代码截图(此处截图核心代码就好,不一定截图全部代码,图上指明是谁的代码。)

      我的代码:

     同学的代码(杨晓琪):

 

##3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

我的代码是投机取巧的,因为看到题目有 “#include<string>” 就直接用了函数“strcat()”;

杨晓琪同学的代码是按照出题人给的意思做出了“strcat()”的原型函数,666,实属我辈学习之楷模,今后学习要向杨同学看齐。

 

#三、截图本周题目集的PTA最后排名

 

 

 

 

#四、本周学习总结。

          指针简单理解为地址。

          指针的类型要和指针指向的数据类型要相同。

          对简单的指针能有一定的理解和应用,对进阶进阶的知识还很难掌握应用,尤其是指向函数的指针,指向指针的指针。

 

posted @ 2018-01-20 02:24  风月子觞  阅读(215)  评论(0编辑  收藏  举报