王锐龙

导航

第四章学习小结

这次我想说一下我这次做AI核心代码的心得体会

  老实说刚开始在看这道题目的时候我有点兴奋又有点犯愁。兴奋是因为涉及到了AI的方面感觉很酷。犯愁的原因是看起来这次的实践题有需要一定时间来消化。

  好在晓梅老师在课上讲了大部分题目。我总结了一下。首先题目入手,我知道了不能盲目的从第一个要求就开始打码,而是应该先看题目需要做的东西。这道题首先先处理了最简单的问号与感叹号的转换。

然后由于后面需要将me改成you等等操作,所以可以先将大小写进行转换。感觉这次学到的是解题思路上的问题,感觉这次做条理更清晰些了。

  然后是具体语句上。首先老师上课讲到的是否越界等等问题我下课后我思考了一番搞明白了。首先需要从大条件入手,比如这个t[j]能否循环到等于'\0'的时候,在循环中t[j+1]等等数值又是否会因此越界。而后在转换大小写的时候学到了tolower函数。

  在其他语句中,有些地方值得注意的。首先是

 if(t[j]=='m' && t[j+1]=='e' && (j==0 || isSeparator(t[j-1])) && isSeparator(t[j+2]))
         {
             cout << "you";
             j += 2;
             continue;
         }

这里的j+=2需要注意。是因为在判断me的时候除了判断m,还要判断e。如果识别成功,则将me转换为you,而j的数值由于跳过了e的数值,所以需要j+=2.

然后是

   t[j] = '\0'; //给t补上结尾符

我在修改代码的时候,由于这个语句的位置写错了,使得测试失败。这里需要加在s数组的元素已经按要求后再加。

在检验第一个测试点的时候,如果最后是空格的情况下。我学到了

freopen("open.txt","w",stdout);
这里可以将输出结果放在记事本里,这样就可以看最后一共有多少个空格输出了。
上次的目标是上课做好预习,课后更积极点。这两周看来,我有点进步。至少在上完课后,会打开电脑做做作业,打打题目。下次的目标还是希望自己在课后时间里能早点把老师布置的作业以及实践题打完。单选题可以在全部学完后当作复习做一遍。

posted on 2019-04-14 19:58  王锐龙  阅读(135)  评论(1编辑  收藏  举报