00:00
这练习什么?再给大家说一遍啊,是我们要求出十名学生的三分成绩,我们定一个数组,就定义成四根号,然后这里面是十,这是三求出学,然后根据这个录入这个成绩求出学生的总成绩,就每名学生的总成绩啊,是每名。美名。学生的总成绩和平均成绩再加内容吧,要不然这个例子太少了是不是,反正我写是不是啊,再求出什么,再求出求出。班级的。语文。然后是数学,以及这个是。英语的。平均成绩啊,到底是看哪个考的好,那这个大家能不能理解啥意思啊,就是求出班级的语文平均成绩,语文。数学英语平均成绩是不是,那我就要什么?要的是,假如这列代表是语文的情况下,那是每一个后面这个为零的都是什么,都是语文成绩吧,是不是我让这什么一列的加起来,然后再除以这个呃,这个呃人数是不是除以十是不是得出来是语文成绩,然后这一列的中间这一列是英语成绩,是不是我让他加下来再除以什么除以一个。
01:11
值,然后那个呃。英语也是一样的,是不是这样的,那咱们还是拿这个Excel再给大家Excel关了是吧,那再新建一个啊,是不是这样写啊。然后,呃。怎么每次一打开就出现俩呢?你的也是啊,嗯,好,这就表示这个什么叫,呃语文成绩啊,就语文就行,然后是数学,然后是英语,英语,然后每名学生的成绩是不是应该叫什么叫是平均成绩吧,嗯,平均成绩。平均成绩,就每名学生的平均成绩啊,比如说语文是88,数学是77,然后英语是66,那你说这名学生的平均成绩多少啊。
02:00
77是不是,然后这里面的什么,就语文成绩是,呃,99,然后这是99,这是99,平均成绩多少啊99,那然后要计算什么语所有班级语文的平均成绩,那是不是这俩相加,然后怎么着再除以个二是不是?算不出来,那你们能算出来吗?算出来算出来,那我再加一个88,然后这什么这个是。55这是什么?这是。嗯,这个是33,然后这这班这个学生平均成绩多少啊,55分是不是,然后这里面算出这个整个语文的平均成绩多少啊。也出来,哎呀。那算了,咱们咱们这个那啥吧,拿计算器来吧,是不是啊,Excel自动能出成绩是不是啊。哎呀,我这个之前干过好多年,这个Excel呢,是不是啊,看看是不是平均成绩是不是是不是都出来了,除了第一个求出来是不是其他都求出来了吧,啊这平均成绩是不是这个平均成绩没有意义了吧,把这个先干掉啊,就是我要求出来什么一个学生的平均成绩,以及这个一个学科的平均成绩是不是,那在我们这里面什么在我们这里面,因为是整形情况下,会把这个怎么样忽略掉吧,啊得得到呀。
03:16
来呀。哇哇哇哇哇哇啊ec ec回来了,我们这里面得到结果应该91是不是,就如果是用这三个值行Y是不是91啊,这是77,这是66这样的成绩是不是,那这是对我们二十十组一个应用啊,就是先是求行的,再求列的这个值知道吧,那咱们就不给他再排序,再排序就更难了啊。我之前给学生演示过,知道吧,演示过后来之后他们再也不想让我教他了啊,开玩笑啊。因为那东西不是现在能够理解东西是这个是。同样叫学生成绩,这里面这个学生成绩,那这个应该是怎么的?更难一点的吧,是二维数组学生成绩,二维数组学生成绩。注意加快名为点C啊。
04:01
先改一下什么,先改一下这个扩展名为这个是十。啊,每天大概都是十五六个这个案例,大概是不是还有五六个案例咱们没写呢,还有一个小时估计也写不完了,那今天会拖堂啊。好,那我就先定一下什么,先定下二位数组int类型的cross,然后是十名学生三门成绩,为了这个方便示情况,我就不写这么多了,写这么多这个类我啊,这里面咱写个五名学生吧,是不是少来点,嗯,然后这里面去循环录入成绩,那你说我用是怎么样去写循环去录入成绩啊来我提问同学啊三声。咋去循环路程价,呃,我们先写一声循环啊,不循环,然后这里面定义这个初始值应该定义为多少啊,哎,我都写上了啊,然后它小于多少啊。五为什么小于五,能给我解释一下吗?啊,五行好,你坐下吧,那你那你坐下吧,那这里面一个什么J等于零,J要小于几啊三是不是五行三列加下来是这个程序会执行多少次,大家知道吗。
05:07
15次是不是就把这个全部入完了啊,那这里面是呃是通过scar,然后是入职了,怎么入职呢?D,然后逗号and取地址符号。Scar。BY。接是不是为了这个方便大家去,那方便大家去看的情况下,我这么写啊是s wich。看这这啥还记得吗?Switch,如果这个接的Switch它有几个值选项啊,看一下这个接会变成几几套几个值啊。0012是不是啊啊case,然后是零,这里面打一句话PF,呃,请。请输入。什么成绩,请输入。呃,语文成绩啊冒号,然后斜杠N啊,后面就可以输入这个成绩了,然后什么,然后这里面加个。
06:07
Break是吧?应该把这话怎么着放在这吧。啊,切下来吧,多多多放点,对啊,这是怎么呢?这是第一个样式吧,比如说输入零行啊,往这里面输入值是吧,然后还有什么,还有这个是。一二是不是零,一二是不是一,然后这个是二,请输入。数学成绩,然后请输入外语,嗯,外语英英格力士是不是。外语成绩。哦,那这里面我们可以先去演示一下,因为这里面后面没写完,咱们先演示一下,看现在什么格式啊,很多同学可能看到Switch就不懂了。啊。AR被重复定义多次。等他进来了。在D06里面第十个啊,第十个这里面。啊,最近因为这个就是当时给演示这个没有具体的去写结果是吧,因为他重复了,那给他先注销掉啊可以吧?嗯。
07:03
虽然说那个不是主函数,但是它怎么它就把它当做一个其他函数一样去去弄了啊,我点错了。呃,在零九中还有什么?还有这个主函数是不是啊。啊,这个是零九啊,不是咱们这个程序错误,咱程序还没写完呢,还不至于到报错那块。那请出语文成绩100分,空格下数学成绩是20分,英语成绩十分。呃,这是什么?这是第一名学生的这个这个信息吧,是不是,然后紧接着就是第二名学生信息成绩是不是这个Switch就做操作什么,就让我们显示不同的这个话语而已,是不是,你不要在意成绩啊,就咱们之前不是说过了吗?是不是啊。好,那这是我们第一块怎么的,录入成绩到哪没结束啊,我们看一下整个代码到哪没结束啊,从这到哪啊到这为结束,是不是这是第一块啊,啊是录入学生成绩。这叫什么?这句话写下注释叫定义二维,二维数组这个这块叫什么叫。
08:03
啊,是录入。呃,学生成绩,学生成绩。下一步什么,下一步要做啥操作了。呃,先是求行,求利,求行就是每名学生的平均成绩是不是啊,我们可以直接写在这里面来,因为怎么的,因为这个是三名学生成绩加完之后是不是都有结果啊,就是我们可以在这里面写,就是什么写一个是呃学生的再定一个变量,是不是因为得需要定一遍接收什么接收这个每名学生的student的STU。呃,是avg,这是什么,这是。学生的平均成绩是不是也可以先定义什么student sum,作为什么总成绩,是不是每次在循环的时候,你输入完语数外情况下我就怎么着,就是可以给他去加成建在哪儿,在里层循环嘛,是吧,每次去给他加。比如我先这样写啊,指定是有问题的sum,然后等于什么等于这个是。
09:01
这个它们相加就可以啊,就是怎么这样写啊是。加等于,这样写有问题吗?没有问题是不是,但是第一名学生加完之后,第二名学生是不是还会到这里面来啊,所以说这里面加的这应该不是学生的成绩,而是什么学生的总成绩是不是,所以说我们就不在这里面去加了,是不是,那如果你想加每个学生的成绩情况下,你得把这个变成什么呀,变成个一位数组是不是才可以啊,比如这样定一个什么呀,五是不是就可以了,把这个改成什么,改成这个是。I是不是就可以了,每名学生成绩三门成绩加完之后放到这里面来,每个成绩加每名学生加三门成绩是不是可以了,但是咱们不用这种情况去操作啊。不用这种情况操作这种情况可以的啊,咱们不涉及到这个一位数组,那因为涉及到一位数组可能让学生搞混啊,咱们这里面写什么写这个是循环是什么?是这个是in ti等于零,I小于五,五名学生是不是I加加里面进行操作什么呀?求出三门成绩是么?In t接等于零。
10:02
接小月三。接佳佳。那同学说了,你在这写跟在上面写不一样吗?是不是,那我在这里面每次求出完这个什么,求出完这个成绩直接打印出来了知道吧,然后再把这个成绩怎么的至为零是不是用完一次之后怎么着洗洗再用是不是意思,是不是这意思啊,是不是你这衣服一样啊,你穿完一次之后洗洗再穿吧,是吧啊你是其他你省歪了啊,那那我们这里面定义什么,定一个临时变量是不是可以啊,那如果在这里面定义临时变量,因为这是属于什么,属于这个循环内部,每次过来都怎么都初始化说不行啊,那么可以在点定义啊,在这个是它外层定义,知道吧,每次循环到这的时候,这个怎么的会重新被初化一次,或者是你怎么样,你拿到在外层定义的时候,比如说这里面int类型的STU。Sum是不是,然后让它等于这个是零,在这里面每次来的时候都得给他进行一个什么呀,初始化操作才可以,就就是咱们刚才说那个信息在用那个到底是一样的是吧?是一名学生成绩录完之后,那个加到一起了是吧?是我已经求出什么,求出这个平均成绩了是吧?是所以说我需要怎么的,需要给他进行一个操作,什么操作就是清零,然后再接接再接入什么下一名学生的三门成绩,能明白这清零这块操作啊,那这里面学们怎么写啊,是STU。
11:23
萨,然后是加等于。哪个是scores,然后是。IJ,那这样情况下就是里层循环,就这层循环,每次求出来之后是几名学生成绩啊,是异名学生成绩是不是,然后在这里面直接求出来什么呀,平均成绩是不是就可以了,那那我可以这样写,就就是直接打印P。白高地。七杠N,然后是。逗号tu sum除以个三,我这里面如果这样直接写行了,是不是就不用再定义什么定义一个变量叫平均成绩了嘛,是不是啊,不用定义平行,因为直接打印出来,你要定义平值,你可以在这再定一下int类型的s student顿的avg等于零,然后是这里面每次也得是怎么的,初始化一下吧,那初始化一下,然后复制拿过来,然后怎么的,然后是。
12:14
呃,Avg,呃是t student平均成绩等于什么除以个三,然后这里面写什么写这个。ST ave是不是你看这代码就比刚才咱们这个代码要多很多吧,注销掉改成咱们之前的啊。朋友说了,你写完白写,那只是让你有更多的什么,更多这个呃,对执行方式或理解啊,嗯。好,那这样情况下是不是就打印出学生的平均成绩了嘛,咱们可以写一下,比如说D。百分号D。牛。学生。学生的。
13:00
平均成绩。为冒号百冒号D这里面俩变量了吧,一个D俩D是不是应该用什么?应该用I加一是不是这样结果能懂吗?啊外层循环就学学外学生的个数吧,嗯,好,那打。放放错地上没有啊对对,这这里面应该怎么三倍学式成绩加完之后才能怎么样才能去打印这个学生成绩吧,是不是啊,所以说这注意一下这个呃位置啊,那我们可以先测试一下啊,这里面我们先把五名学生改什么改成这个是呃呃,那也不行,那也不行,为啥?因为这里面我都写都是五是不是啊,那这里面。嗯,没事先来着吧,是不是,反正一块块看吧,这块内容是不是已经完成了,就是这个学生的平均成绩吧,不是这个学科的平,不是学科的平均成绩吧,是不是还执行啊,可能会有点慢,如果出错咱们还得去重新写一遍啊,比如说100,记住这个成绩99。九十八九十八,那平均成绩为多少啊,99这第一名学生啊,第一名学生成绩99啊,第二名学生成绩88,八十八八十八,他平均成绩88是不是,九十九八十八然后什么77的是不是,呃,67,然后是77,然后是87,他平均成绩是多少?77然后是。
14:20
然后是66,这个不是,这个是66,这名学员成绩是吧,然后是36,然后是36 66,然后是96,这平均成绩多少啊,66,然后这是一名两名三名四名了吧,还有一名啊呃,四名是15,然后是。55,然后是。25,那好,这听你的了,好这样成绩学生成绩录完了啊。看一下这个平均成绩啊,这里面第一名学生成绩是平均99 88 77 66,然后这31是不是这是咱们操作这一步,这一步是什么?求助学生平均成绩了吧,啊加了一步循环,那这只是我们完成第一块,是求出学生的平均成绩。
15:10
成绩,那下面要求什么?下面要求的是学科的平均成绩,那学科平均成绩这里面我看一下是怎么呢?是得把第一名学生的语文成绩加一下是不是,数学成绩加一下,英语成绩加一下是不是,那我怎么加呢?那大家有没有什么思考的,这个方向是不是和我们这里面之前那个Switch是一样的,如果是。呃,零的情况我给它加到这个语文里面,一的情况加到数学里面,二的情况加到这个英语里面是不是就可以了,然后再除以一个什么班级的这个总人数是不是就完事了,明白了吗?我再说一遍啊,我们是不是可以通过这个Switch来求出一列的这个值啊,比如说这个什么,这个内层循环中,如果是零的情况下,我可以把它当做语文成绩,是不是一的情况下可以当做数学成绩,二的情况下可以当做什么呀?外语成绩是不是每次把这个加起来之后,再除以这个学生个数,是不是就是学科的平均成绩啊?
16:01
嗯,好,我希望你们能懂啊。没听懂,那我再来一遍啊好,那这里面什么,这里面我们看一下循环的这个过程,外层循环是学循环这个学生的什么这个个数的,然后里层循环是如果是等于零的情况是语文成绩是不是我们加进来,数学成绩加进来,英语成绩加进来,然后再除以三,我们知道这是每名学生的成绩是不是,那如果说要求出他的语文成绩,数学成绩,英语成绩是不是得先找到什么,找到对应的语文成绩在哪个数组里面,是不是需要所有为零的后面为零的都是语文成绩,一的都是数学成绩,二的都是什么英语成绩是吧?找这个把它每一个里面加进来,然后最后再除以学生的数,数量是不是就平均成绩。啊,那那我们这边写一下学科平均成绩。首先那这里面是什么?是循环吧,嗯,循环是必须得有的啊,然后是in的类型,I等于零,I小于等于5I加加,然后再写个负循环。
17:03
怎么不提示了呢?啊,提示了是int j等于零。然后接诶这这变了是不是这不应该删啊,到这也变了是不是,然后这个是小于几啊三啊,这三个里面代表什么三门学科吧,是不是同样用SW I ch。来给大家看一下。包括角I这什么,这是J,然后对应的什么,对应的是零,然后是BK break,然后是复制一下啊是零一。二啊一二,那我这里面求出平均成绩起码得定义几个数值啊。三个吧,语文,然后是数学英语是不是,那我们定一下,比如说这个定义三个变量,Int类型的语文叫Chinese啊。呃,C啊呃,我知道知道,我想简写一下C平均成绩c sum,因为先求出总成绩再除以,那就是可以了吧,C就是我们的这个是语文成绩也可以吧,啊,给他等一个零啊,初始值为零,然后是数学math吧,嗯,Sum。
18:12
然后是等于英语是E。SM等于零啊这样情况啊,初始化这个分分之后,那我这里面如果是零的情况下应该加什么?里面加是不是C加c sum。我提示呢。啊,用哪个提示能提示这些东西了。Control是不?你砍去吧,我没教你control啊。说错了,那应该用哪个,反正就这样子,你就按个蒙吧,是不是shift是不是啊,然后是I和什么样和这个是接,但凡能怎么的,但凡能进来之后,这个接一定为什么呀。为零是不是我们写T也行,写零是不是也行啊,只是让大家知道啊,每次我都加这里面来,这个里面每次加什么,加的是ma,然后是sum,然后是加等于scores。
19:08
I。这个基但凡能进来一定是几啊,一定是一吧啊加等于啊,然后这个是e sum。等于,呃,是加等于。SC这个是。出现什么问题了没有啊?I和接。那这样情况下,我经过一个Switch之后,是不是能把一列的东西求出来啊,横着能求出来,列的是不是也能求出来啊,求出来之后,那这里面也是在整个循环结束之后,我是不是才能求出来这个平均成绩啊,不是像之前呢,是在哪,是在一步循环完成之后,就能求出一门学生成绩了吧?那这里面我需要在外面再打印两句话啊,是PTF,是。班级的语文。平均成绩为冒冒号百分号D,然后这里面应该怎么计算呢?C sum。
20:05
然后除以个五,因为这个五情况是不是前面跟大家说了,你可以用size of求来这个值,具体的值在哪是吧?语文成绩,数学成绩,英语成绩。数学,然后是。英语,然后是。M,然后是E。这样情况,这几门成绩求出来了吧,那那我们再去测试一下这个我们写的代码对不对啊,你别看70多行代码没多少是不是啊。哇什么哇呀,你好,第一次写70多行代码,实在是太少了啊,这语文成绩咱们是100,然后是99,然后是98,然后第二名成绩是89,然后是98,然后是。嗯,78,然后是23,三十四四十五。然后是五五十六,66 76。你要你要看不了情况,我给你放大一点是不是这样就可以了吧,嗯,然后你别管光标定在哪啊,这里面是下面输入什么成绩了,是语文成绩。
21:08
呃,90诶看下补定义不不准。Huh。90。完了,这可能整错了啊,但也没啥事啊,不行,重说一遍呗,是不是?这对不对呀。这这这因为这个有卡输入法了,我也不知道对不对啊好华平啊,看一下我们这个值啊,对,能不能对应上啊,90这这第一名学生成绩是99是没问题,第二名学生成绩88没问题,第三名学生成绩是34没问题,这个是66是没问题的,这个是。九十八十七十平均成绩80没问题吧,然后是语文是100,再加什么,再加上89再加上。二三。再加上56,再加上。90啊,我算下来这个值应该91点几,然后最后预约分完之后等于91是不是啊,你不信你可以算一下啊,啊,是不是这样结果啊,然后这是数学成绩相加,然后这些相加啊,你可以验证一下这到底对不对啊,这是横向的,你能求出来数据,纵向能求出来数据是不是?其实还有一个排序,那个太难了,我先不给大家讲啊,咱们讲到指针的时候,再把这个排序给大家说啊。
22:22
二数组排序啊,那到时再说。好把这个代码。
我来说两句