00:00
同学们,我们继续来看第五套操作题的程序设计题,这个呢,也要认真的来阅读这个题好不好?有些题呢,它不难,但是你如果没有把题搞懂,那你做起来肯定是错的,最后好先放这儿,然后我们这里呢,新建一个文件,这个文件的名字呢,咱们就叫exam。零五杠零三同样将其后缀进行一个简单的修改,把代码呢给他拿过来,我们先来阅读一下这道题的题意是什么,先看一下,跟上老师思路哈。他说这样子的,请我们请编写一个函数放。它的功能是什么呢?求出一到M含有M,注意看题一啊,含有M,那就是包含M了之类能够被七或者被11整除的所有整数。呃,就是说能够被七或者被11整除的所有整数放入到数组A中,就是它会给你一个数组,那显然这个将来就就A了。
01:07
就这个int星A这个A这个指针,它实际上是指向一个数组的,这个一定要看懂了。通过N,再通过这个N。返回这些数的个数什么意思呢?就是呃,它有两个作用,就这个放的函,这个放函数的功能有两个,第一个呢,它要求把一到M的所有满足这个条件数扔到这个数组里边去,这是第一个功能,第二个功能呢,要通过这个N把你统计到的个数,呃,也放到放到这个N这个变量里面去,它是通过指针来控制的。他又举了个例子,比如说我们传入的是M是等于50,那么这个程序就应该是这么一个值,当然这个有几个数也要统计出来了啊,它几个数要统计出来,就是比如说你是有,呃,有多少个,你就放到这个N里面去,注意部分源代码已经给出了,请勿改动主函数令和其他函数任何内容。
02:06
即我们主函数是不能动的,然后再放函数里面加入若干代码,那现在开始分析。分析我们的思路,同学们想一想哈,跟这里面最重要就是你先把代码先阅读一下。首先我们看AA是一个数组,看懂了没有?然后N等于好,现在呢,他把这个放传进去了,他说这个放就他第一次传的这个M就是50,看到没有,这个50就是传给这个M的,然后aaaa因为是个数组嘛,它直接传给一个指针,这是允许的,因为我们说数组的名称就代表该数组的首地址,那也就是说这个A就指向了这个AA,这个数组能看懂吗?OK,第二个分析出来,AA这个数组付给了,付给了int新A看懂了,那也就是说这个A呢,就指向我们AA这个数组了,看懂了哈,然后艾特N,这个艾特N呢,是这边传的地址给他将来这个数,呃,就这个通过N可以把值传给我们,另这个函数里面的这个N看懂了哈,然后这边有个for循环。
03:17
这个for循环这一块呢,它是在做一件什么事情呢,输出。也也就是说这一块代码,它它其实是在做输出工作。也也就是说你这个放函数处理完了过后呢,它输出了一下,看看你这个结果是什么样子的,看到没有,OK,就这么意思,但是他在这里面没有把这个N输出来啊,如果输出来的话,就应该是多少个呢?就应该是一二三四五六七八九十十一啊OK,它这没有输出,它只仅仅是把什么呢,把AA这个数组输出来了。其实也也能数出来好,所以现在代码有了过后呢,我们就可以开始来走走这个东西了。好,我们一起来完成。首先我们分析出来,MM就是传入的。
04:05
啊,传入的一个范围。是不是一个范围啊,同学们能看出是是个范围吗?第二个我们分析吧,就是这个A它是指向什么呢?指向这个AA这个数组的。或者要引用这个数值的好,N呢,就是同学们说N这个指它是个指针。啊,它是个指针。好,那现在我们开始写代码了吗?就是一个判断,那你想他的要求是这么一个要求是不是,那就一个负循环,再来加一个判断不就完事了吗?同学们,那老师就,嗯,开始来走一下这个代码,大家看一下我们怎么去完成好不好,其实代码并不难。代码并不难,我们来写一写int I,先定义两个变量I。好结,我负一个零没问题哈,哎,待会儿呢,负值。那现在呢,我们用这个循环。循环,注意同学们在考试的时候呢,不需要写这些注释,再说一遍啊,考试的时候你们不需要写这些注释,直接把这个答案给它写上去就可以了,老师讲课呢,写了一些注释for循环,然后I呢,我们初始化为一。
05:16
啊,初始化为一,然后呢,I小于等于M,为什么是一呢?因为你是一到M之间嘛,对不对,所以说是一到M之间,然后I加加,看懂了没有,好的I加加。那么这个这个I加加处理完了过后,我们就进行进行一个判断,如果这个I磨磨什么呀?磨七磨七等于零说明什么呀?说明它能够被七整除,或者I摩什么呢?11等于零。对,那就是说这个条件满足,就上面这个条件满足,就说明他要么被能够被七整除,要么能够被11整除,在这样一个情况下呢,这个就是满足条件的,即这个就是求。
06:04
一到之间能够被11、11整除的所有整数。是不是这个条件就成立了,你你要把这个数放到哪里去啊,放到A这个数组里面去,是不是把它放进去很简单,A走几倍,A走,然后这个地方咱们怎么办呢?结是不是有零呢?因为这个节我用这个结来控制什么呢?来控制它是第几个有效的数据,也就说结表示的是。表示的是第几个有效数据?有小数据,好,那这个就很很简单了,咱们就截注是后加加,不要前加加,等于谁呢?等于I放进去了,也就是说这个时候将。满足条件的,满足条件的数放入到A数组A,这个A数A指向的A指向的数组。
07:04
AA中。能理解哈,这就放进去了,那么放进去完了过后,整个这个for循环结束了,我问大家结是不是就是。呃,统计出来的这个个数了。是不是,所以说最后一句话呢,再来做一个工作,N等于几,这个能看懂什么意思吗?这个就是将将这个个数统计的个数,呃,放入到放入到N中。代码就写完了。此时此刻代码就写完了,那这样子呢,我们来运行一下,看看这个代码到底能不能跟我们想象的一样,好不好,我们来试一下。好的,那这个地方应该一个get叉就可以了。我们先来生成一下这个解决方案,看看OK不OK。诶生成失败,那哪里面写错了呢。哦,这边没关闭啊,上次这个没关闭,咱们再生成一下。
08:00
再次生成。OK,运行之。运行好,运行起来过后呢,我们发现这个结果跟我们想的一样的,71对不对,我就不去念了,那一共有多少个呢?呃,这个N就应该是具体的是我们可以把这个N输出来一下,但是同学们再说一遍啊,在实际的这一个,嗯,这个工作中,你们不要不要去这样测,我只是给他验证一下而已。好,我输一下N等于百分号D,那么艾特NN这个N就可以了,那应该是多少个呢?输一下好。看看对不对,对不对,看对不对。好N输出来11个数一下,一二三四五六七八九十十一正确的,好,最后你在交卷的时候呢,把你自己加的这一部分不能加的代码把去掉就行了,好吧,这就是我们这个分析,大家看懂了没有。就尤其是注意呃,它是怎么来思考这个问题的,因为我们在进行这这种程序设计的时候呢,它是有条条框框的,不是说你想怎么写就怎么写,你要根据它的这一个主函数来推,我们这个放函数应该怎么写好,同学们关于这个分析和解答就说到这里,我们把它拷贝到这里。
09:14
是一个分析和解答。那最后我们把第五套题呢,也梳理到我们的这个笔记之中去。这是我们的第五道题。没问题吧?并不难。那么这边呢,我们仍然是老规矩,把这个图截过来。大家一看就知道是这个,然后这边是C语言第五套的试卷。放这好轩试卷。OK,那这里我们给它一个小箭头,然后呢,加入一个表格。将我们那边一个解答,把它复制过来,就这个。整体复制一下哈。从这里开始到最后。
10:02
OK,把它插入到我们表格中,便于同学们今后的一个复习。搞定。同学们,那关于我们这一个计算机二级的C语言真题操作题的第五套,就给大家讲解到这里,大家呢,最好自己去写一写,看一看,就是说通过这个多做练习,你会发现呢,嗯,多练几遍其实就会越来越熟悉了,各位这讲我们就说到这里。
我来说两句