计算机二级-C语言 - 第四章:考前冲刺
分享给朋友:

按住画面移动小窗

下载
C语言-星号题(中)-计算机二级程序设计题考前冲刺
虎课APP支持视频下载
扫码下载/打开虎课APP
支持视频下载,随时随地学
手机观看
扫一扫,手机继续学
扫码下载/打开虎课APP
支持视频下载,随时随地学
C语言-星号题(中)-计算机二级程序设计题考前冲刺_虎课网
记笔记

全新AI视频总结上线

一键节省你80%学习时间

视频暂不支持AI视频总结
AI视频总结
编辑完成后,记得点我~

358

已学

62小时

时长

150

配套素材

完课证书

¥199(¥299)

全站通VIP免费畅学

立即购买
学员评价 (0条评论)视频字幕
您需要学习后才可以评价, 立即学习
评论列表
仅显示有内容的评论
仅显示带图评论
排序方式:

来 我们看一下屏幕上面 ,那么前面我们已经讲了这么几个*号的问题 ,那么接下来 我们来学习后面的内容 ,那么关于这个*号的问题 ,我给大家简单的总结过 ,这里再给大家啰嗦一次 ,那么这么几种情况 ,第一种情况是删除所有的 ,那么删除所有的最好的方法就是 ,我们直接把这个非*号存储到我们新的数组里面来 ,这是最简单的一个方法 ,第二个是我们删除前面的 ,那么删除前面的这个内容的话 ,我们也很简单 ,那么来一个if语句 ,也就是说直接定位到我们这个第一个非*号 ,这个方法很重要 ,定位到第一个非*号 ,然后把后面的赋值给新的数组 ,这里我们删除最前面的 ,然后我们再来看一个 删除最后面的 ,那么这个删除最后面的话比较容易了 ,我们只要定位到 后面的这个第一个*号 ,然后给它这个赋结束标志 ,这个我们记一记 ,不要想着别的方法 ,因为我们当前这个方法最好了 ,关于删除我们最后面的这一个 ,咱们一定要使用 现在我所讲的这个方法 ,我们通过 这个在最后一个*号 ,也就是倒数第一个*号上面 赋一个结束标志 ,例如的话我们来看 我们A ,我们*B 我们C 然后我们*号 ,然后我们D 我们*号 ,那么我们要删除这些*号 ,我们最好的方法就是给这个*号 ,给它来一个结束标志 ,那么这个时候我们是不是从前面开始读 ,那么读到这个地方的时候 结束标志了 ,后面就不会读了 ,那么这是我们删除最后面的 ,那么如果你能够把我们这三个掌握好了 ,那么其它的 其实基本上都差不多 ,那么接下来的话 我们继续往后面来看 ,我们一起来看一看 ,那么前面我们讲到了 ,我们来看这个 ,

我们只删除前导的和尾部的*号 ,把前面的和后面的*号删除 ,中间的*号我们保留 ,那么我们的关键问题就是 如何把我们的光标 ,停到第一个 非*号字符和最后一个非*号字符 ,光标停到上面去 ,那么如何停 ,这个题目 我们上节课讲过了 ,这里面我们的这个h和我们这个1 ,那么这个都是我们主函数里面 ,已经给我们判断好了 ,在主函数里面 ,它这两个指针已经给我们定位好了 ,那么所以我们只要把p指针 从这个地方往后面走 ,然后走到这个地方的时候 我们就停下来就可以了 ,那么这个题目我们前面讲过 ,这里就不给大家重复了 ,我们来看一看 后面这一个 ,除了尾部字符以外 ,其它字符的话全部删除 ,那这里我们来看一看这个 把尾部的保留 ,其它的全部删除 ,第32套题 ,下课以后好好去看一看 ,我们打开我们程序文件 ,接下来我们来看一下我们当前这道题 ,它的代码情况 ,那么首先我们看一下 我们主函数里面 ,那么主函数里面 我们来看这个地方 ,这个地方我们的t 那么定位在哪里 ,定位在我们这个 ,哪个地方 倒数第一个字符上面 ,那么当前我们这个t ,它定位在我们最后一个字符上面 ,这是我们这个地方 ,然后再来看这一个 ,我们的*t那么等于我们*号 就往左边走 ,那咱们想一想 这个地方是不是定位在最后一个 ,非*号字符上面 ,看这地方 本来的话 ,我们通过这个循环语句来看 ,我们A 我们*B 我们*号我们C 然后*号 ,通过我们上面这个while语句循环 ,那么我们的t 应该定位在我们的结束标志上面 ,

然后再通过我们这么一个t-- ,所以的话把它定位在我们这个*号上面 ,看清楚 我们这个t--跟上面的循环语句 ,是没有关系的 ,然后再来运行我们这个循环语句 ,那么这里导致 我们的t等于我们*号 ,那么现在我们t在这个地方 等于*号这个条件它成立 ,成立以后 ,我们t--来这个地方 ,那么依次的话 继续走 ,走到来到我们这个C上面 ,那么现在我们的t 就定位在我们这个C上面了 ,也就是说最后一个非*号字符上面 这里要看明白 ,这里如果不明白的话 ,我们后面了就没法讲了 ,那么定位好了以后 我们再来看看题目要求 ,题目的要求是 我们要把这个最后的这个*号保留 ,其它的话不保留 ,那现在我们来看一看 我们子函数里面 ,该怎么来编这个程序了 ,我们好好想一想 ,我们已经把我们这个*号 定义在尾部上面了 ,那么我们是不是可以这样来做 ,我们从前面往后面走 ,那么走的过程中 ,凡是不是*号的 ,我们保留下来 ,是*号的 ,我们不做任何要求 ,这思路这样的 ,我们看 现在我们的这个指针 ,已经定位在我们最后一个字符上面了 ,那么现在的话我们这个再来一个指针 ,从这地方开始 往后面走 ,走到这个地方的时候 我们停下来 ,那么这个走的过程中 ,凡是不是*号的 ,我把它存储起来 ,是*号的 ,我什么也不做 ,那么最终我们光标 会停到这个地方去 ,停到这地方好了以后 ,我只需要把后面的这些 直接复制给它就可以了 ,是不是就实现我们这个功能了 ,那么这个程序我们该如何来编 ,我们一起来看一看 ,为了使得我们数据能够返回到我们 ,主函数里面去 ,所以一般我们会在子函数里面 ,再定义一个指针 来指向我们原始的数据 ,那么原始的数据在我们a里面 ,

我们的p的话 是在我们最后一个字符上面 ,那现在我们来写一写 ,我们定义一个新的指针 ,我们来*q ,来指向我们这个a ,那么我们的q 先指向我们字符串的开始位置 ,指向开始位置好了以后 ,我们来一个while语句循环 ,那么while语句循环里面 ,我们来判断一下 ,我们这个q 是不是到达了我们的p ,我们的q不能够超过我们的p ,那么它 q的话小于等于我们的p ,也就说 我们的q一会儿只会停到我们这个p上面去 ,如果小于等于它 ,我们就来判断一下 ,我们这个*q它是不是不等于我们*号 ,那么如果不等于我们*号 是我们需要的数据 ,如果等于我们*号 我们就不需要它 ,那么所以这里面 我们把这个需要的数据 ,存到我们这个a数组里面来 ,那么把谁 把我们*q ,前面我们定义一个变量i ,那么现在我们想一想 是不是可以这样做 ,现在我们将会 从这个q开始 到p ,那么p的话 我们已经知道它停在我们最后一个 ,非*号的字符上面了 ,q的话通过我们这个语句 ,它就定位在我们字符串的开始位置 ,那么从第一个位置开始 到我们最后一个字符上面 ,来判断它是不是我们*号 ,不是我们*号 把这个字符存到我们这个里面来 ,那么如果是的 我们就不要动它 ,如果是 就不用动它 ,那么这里的话 我们还需要一个q++ 非常好 ,这个地方我们还需要一个q++ ,我们可以把这q++ 直接写到这个地方来就可以了 ,那么写到这地方来 我们看清楚表示的是 ,先算我们前面 ,还是先算我们后面的问题 ,那这里的话 我们*号和++它的级别相同 ,自右向左进行结合 ,

那么所以我们先算后面 ,先算后面 ,那么写这地方可不可以 ,这地方不可以 ,为什么不可以 ,因为如果我们这个if条件它不成立 ,那么是不是我们这个语句 它就不运行 ,那么所以我们这个q++ ,还是写到我们这个if语句的外面来 ,我们写到这个地方来才行 ,不管它成不成立 ,我们q 都得往后面跑一个 ,那么q它跑的话 ,应该包含在我们这个循环语句里面 ,那么这里 其实我们很多程序都是这么一个原理 ,那么咱们现在想一想 ,我们的a里面是不是已经把我们的非*号字符 ,存好了 ,那么接下来 我们只需要把我们后面的*号 ,把它放进来就可以了 ,后面的*号怎么放 ,依然是我们的a[ ] ,我们的i++ 那这里我们判断一下 ,再来一个判断 ,判断一下我们的q 有没有到我们结束标志 ,那么如果它没到我们结束标志 ,这个地方 我们用q还是用p 我们想一想哪一个好一点 ,那么q p的话都一样的 ,因为我们这一个循环语句 ,那我们现在我们q的话 ,应该来到我们后一个上面去了 ,我们这个循环语句结束 ,那么说明我们的q ,已经跑到我们p的后一个字符 ,后一个字符就是我们*号 ,所以这里的话 直接这样写就可以 ,那么同样是a[i++] ,那么等于我们的*q 这里q同样往后面跑 ,那这里我们没有判断 ,我们只给它赋个++就可以了 ,那么赋值好了以后 ,最后我们给我们的a 加一个结束标志 ,记清楚 加结束标志 ,那么整个程序我们就编好了 ,就这样就好了 ,分成两个部分 ,第一个部分是通过我们上面这个循环语句 ,把我们这个非*号字符 存到a里面去 ,那么关于这个存储 很多同学可能不是太理解 ,那么一定要记清楚 我们的*q指向我们的a ,所以的话我们可以 ,完了以后把我们剩下的这个*号 ,全部赋值给我们的a 那么最后就可以了 ,那么这是我们当前这个程序 我们运行看一下结果 ,

Ctrl+F5键我们运行 下课以后我们可以考虑一下 ,把我们这个每一种算法 ,每一种题目 用我们的汉字 ,把我们的算法写出来 ,那么这样你只要稍微看两遍 ,考试的时候 ,我们这个算法就很明了 ,只要去写了 ,就不要思考这个过程了 ,我们确定下来 忽略一下 ,那么这里发现没有结果 ,这里发现我们这个没有结果 ,那么说明我们程序有错误 ,我们再来看一看 ,那么说明我们输出的时候 ,输出的时候 它没有把这个字符串输出来 ,我们这个函数它没起作用 ,这个函数没起作用的话 ,说明我们s里面 它就没有存储东西 ,那么所以这里我们再检查一下 ,这里我们这个i的话 没给它赋值为0 ,我们数组的下标 没给它赋值为0 ,错这个地方 ,我们再来运行一次 ,我们记清楚 ,我们数组的下标 一定要赋值为0 ,再来看我们结果 ,那么现在我们结果 那么应该是正确的 ,我们最后的*号保留 ,前面的话和中间的全部删除了 ,那么这是我们当前这个题目 给大家编好了 ,思路一定要记清楚了 ,先把我们这个非*号的保留下来 ,再把我们*号赋值给它 ,这就完了 ,好 ,这是我们当前这个题 ,接下来我们再来看下一个题 ,第82个题 ,除了我们前导的*号以外 ,其它的*号的话全部删除 ,那么这个思路 应该是基本上是一样的了 ,那么这里我们通过当前这个语句 ,把我们这个p定位到我们这个 ,第一个非*号字符上面去了 ,来看这个地方 ,当前我们通过我们这个while语句循环 做两个事情 ,第一个事情把我们前面的*号 存到a里面去 ,第二个事情把我们的p 定位到我们第一个 ,非*号字符上面 ,那么后面这个循环语句 ,那么就是把我们后面的这个字符 ,如果它不等于*号 ,我们就存储起来 ,等于我们*号 我们什么也不做 ,那么跟我们前面那个题目 非常的接近 ,

前面我们是定位到最后一个非*号字符 ,这个地方是定位到第一个非*号字符 ,定位到我们最后一个非*号字符 ,那么我们还需要一个循环语句 ,这个里面 我们子函数里面没有写 ,但是在我们主函数里面已经提供了 ,这个题目的话 ,我们是定位到这一个 第一个非*号字符上面 ,下面是最后一个非*号字符上面 ,那么这两个题目基本相同 ,再看下一个 关于我们数量的问题 ,那么像这种题目 ,它要求的是前导的*号 不得多于n个 ,那么如果超过n个我们删除 ,那么小于的话 我们什么也不做 ,这是我们题目要求 ,那么这种题目怎么做 ,我们来看一看 ,当我们这个*t等于*号的时候 ,什么意思 ,在我们当前这个地方 ,这个循环语句 ,我们所做的工作就是 ,统计一下我们有多少个字符 ,多少个*号 ,这里它的功能是统计我们前面有多少个*号 ,而且把我们的t定位到第一个非*号字符上面 ,来 ,这地方记清楚了 ,当前我们这个while语句循环 主要两个功能 ,第一功能是通过我们的k ,统计了它有多少个*号 ,第二个通过我们的t ,定位到我们第一个非*号字符上面 ,那么定位好了以后 ,接下来我们就要来判断它的个数 ,它的个数 ,如果我们k大于n 我们就做这个事情 ,再做什么事情 ,把我们的t重新进行定位 ,那么如果它小于n的话 ,我们这里就不成立 ,不成立的话 ,运行我们这个语句 ,那么这是我们当前这个题目 ,第一个 给大家讲一讲 ,后面这个比较接近的 我们就不讲了 ,这是84套题 我们一起来看 ,这个*号 使字符串的前导*号 不得多于n个 ,多于n个 删除多余的 ,这是我们题目要求 ,那么咱们这个思路 简单提醒一下 ,

那么就是我们可以先把前面的*号的数量 ,统计出来 ,那么例如四个 ,那么统计这里是我们的七个 ,对吧 ,那么拿我们这个7去减去我们的3 ,那么等于我们的4 等于4好了以后 ,我们是不是可以7减去4等于3 ,不好意思 写反了 ,7减去4等于3 ,那我们是不是可以从第三个位置开始 ,把后面的内容 保存我们新的数组里面就可以了 ,来 再说一次 ,第一步 统计我们前面有多少个*号 ,这里统计的结果是7个 ,那么有这个7个好了以后 ,我们拿这个7减去这个3 减这个4 ,我们要保留4个 ,那么等于3个 ,那么所以我们从第3个位置开始 ,把后面所有的数据 ,全部保存到一个新的数组里面来 ,问题就解决了 ,那么怎样解决 ,我们具体来看我们内容 ,打开我们程序文件 ,然后进行一个复制粘贴 ,那么现在我们看主函数里面 ,主函数里面它什么也没做 ,所有的操作 都要通过我们主函数来实现 ,那么我们在子函数里面来写 ,那么写的话 ,它写了一部分了 已经 ,那么a[k]等于* k++ ,那么这里是统计我们的个数 ,这个地方它已经把我们的k ,作为我们的个数统计出来了 ,那么如果我们的k小大于我们的n k大于n ,我们需要删除 ,需要删除 ,那么删除我们不是真正把它删除掉 ,我们只要把我们的这一个 ,这个指针 指向我们第三个字符 ,然后把后面的全部进行一个复制就可以了 ,这个思路 大家一定弄清楚 ,现在我们统计它的个数 ,例如我们刚刚那个题目里面再来看一次 ,如果不理解的话 ,这个地方根本没法做了 ,我们先第一步 通过我们这个while语句循环 ,已经把我们前面的*号的数量 统计出来了 ,那么是7个 ,然后这个7 ,那么大于我们4 ,这个条件成立 ,

大于4好了以后 ,我们要做的事情就是 把光标停到这个上面来 ,停到这个上面来了以后 ,我们把后面的内容 直接复制给另外一个数组就可以了 ,问题解决 ,那么如何把这个地方 定位到这个地方来 ,把我们的指针定位这个地方来 ,刚刚已经说过了 ,7减4就是等于3 ,那么从3开始就可以了 ,那么怎么写 ,我们一起来看一看 ,那么如果k大于n 那么我们就把我们的t指针 ,这里我们还没有定义一个新的指针 ,我们 这里还不让我们定义新的指针 ,a指针在这个地方 ,那么就拿a 我们的a指针 ,然后加上我们的k 减去我们的n ,咱们想这个地方什么意思 ,我们a的话是一个首地址 ,

登录后查看更多
电脑办公入门
共 140 节课
职场PPT学习
共 112 节课
职场Excel学习
共 248 节课
职场英语学习
共 101 节课
计算机二级-Office
共 250 节课
已是第一张图了
已是最后一张图了
记笔记

导出笔记

笔记导出历史

00:00

0/12
确定保存
笔记导出历史导出完成的笔记将保留1天,如有需求请及时下载
课程名称
导出时间
文件大小
状态
操作
AI视频总结
AI正在分析视频,请稍等…
AI总结遇到了一些问题 点击重新获取
点击重新获取
成为全站通VIP 查看完整AI总结
复制

职业路径建议意见

请选择你对职业路径课程的满意程度

请选择你对职业路径课程的满意程度

请填写关于职业路径的建议意见:

同学,小虎知道你非常努力的想学习!

老师录制课程真的也很辛苦

赞助一下吧

确定学习吗?

您每天可免费学习一个教程。

成为VIP可无限学习 !

成为VIP吧!

成为VIP吧!

您已经免费学习 1 个教程 !

我们录制教程很努力的,赞助下吧 !

升级VIP吧!

您已经学习 5 个教程啦!

我们录制教程很努力的,赞助升级下吧 !

您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个素材文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计观看5个图文教程


您在当前分类下不是VIP,赞助VIP享受无限观看


学习后才能评价哦!

获得30虎课币

评论提交成功,将在审核通过后显示

×

下载素材/源文件:

收藏成功
取消成功
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习90000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了41,822
并提交了166份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 90000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证