C语言程序设计 教案 6-2任务6.2 计算多个学生多门课程成绩的总成绩和平均成绩 - 副本_第1页
C语言程序设计 教案 6-2任务6.2 计算多个学生多门课程成绩的总成绩和平均成绩 - 副本_第2页
C语言程序设计 教案 6-2任务6.2 计算多个学生多门课程成绩的总成绩和平均成绩 - 副本_第3页
C语言程序设计 教案 6-2任务6.2 计算多个学生多门课程成绩的总成绩和平均成绩 - 副本_第4页
C语言程序设计 教案 6-2任务6.2 计算多个学生多门课程成绩的总成绩和平均成绩 - 副本_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C语言程序设计》教案课程名称C语言程序设计任课教师总课时64教学课题【任务6.2】计算多个学生多门课程成绩的总成绩和平均成绩授课班级授课日期课时2教学目标知识目标:掌握二维数组的定义、初始化和引用方法。能力目标:能够利用二维数组处理类似行列式的问题。素质目标:团队合作能力、团队互助,自我学习的习惯、爱好和能力重点难点二维数组的应用教学方法演示、讲解、启发教学资源教材《C语言程序设计》设备准备VC++6.0,极域电子教室软件,分发工作任务单实践任务(项目)掌握二维数组的应用教学环节(教学过程)教学内容教师活动学生活动教学目标课时1理论讲解讲授二维数组的定义、引用、初始化和相关应用讲授预备需要的理论知识15分钟2演示项目效果通过教室软件演示程序执行结果倾听、观看、思考、陈述给学生演示任务结果10分钟3举例多个学生多门课程成绩的总成绩和平均成绩讲授、演示通过实际应用帮助学生理解理论知识20分钟4应用布置相关题目辅导、答疑通过做相关练习题帮助学生更好的理解相关知识45分钟教学内容(详细): 【任务6.2】计算多个学生多门课程成绩的总成绩和平均成绩问题描述一个学习小组有4个人,每个人有相同三门课程的考试成绩。求组内每个人的总成绩、全组各科的总成绩和各科的平均成绩。请编制一个程序。问题分析1)定义一个四行三列的数组,每一行用于存放一名学生的三科成绩。2)通过遍历数组中的每一个元素,求组内每个人的总成绩、全组各科的总成绩和各科的平均成绩。【知识储备6.2】二维数组的定义及其应用6.2.1二维数组的定义二维数组的定义格式为:<类型说明符><数组名>[<常量表达式1>][<常量表达式2>];其中,“常量表达式1”表示数组的行数;“常量表达式2”表示数组的列数。6.2.2二维数组的引用二维数组的引用方式同一维数组的引用方式一样,也是通过数组名和下标的方式来引用数组元素,引用形式为: <数组名>[<行下标>][<列下标>]6.2.3二维数组的初始化完成二维数组的定义后,需要对二维数组进行初始化,二维数组初始化的一般格式如下:<类型说明符><数组名>[<常量表达式1>][<常量表达式2>]={初值表};初始化二维数组的方式有四种,具体如下:1)按行给二维数组赋初值 例如:inta[2][3]={{1,2,3},{4,5,6}};2) 将所有的数组元素按行顺序写在一个大括号内 例如:inta[2][3]={1,2,3,4,5,6};3)对部分数组元素赋初值 例如:intb[3][4]={{1},{4,3},{2,1,2}};4) 对全部数组元素置初值,则第一个下标可省略 例如:inta[][3]={1,2,3,4,5,6};6.2.4二维数组的应用案例:6案例:6-2一个学习小组有4个人,每个人有相同三门课程的考试成绩。请编制一个程序求组内每个人的总成绩、全组各科的总成绩和各科的平均成绩。流程图如图6-2所示略流程图6-2程序代码#include"stdio.h"voidmain(intargc){//定义一个四行三列数组存放张同学、王同学、李同学、赵同学四个人成绩 intStuScore[4][3]={{88,70,90},{80,80,60},{89,60,85}, {70,80,80}}; intm=0,n=0; intnStuTotalScore; intnMathTotalScore=0; intnChineseTotalScore=0; intnEnglishTotalScore=0; printf("个人总成绩:\n"); for(m=0;m<4;m++) { nStuTotalScore=0; for(n=0;n<3;n++) { nStuTotalScore+=StuScore[m][n]; switch(n) { case0:{nMathTotalScore+=StuScore[m][0]; break; } case1:{nChineseTotalScore+=StuScore[m][1]; break; } case2:{nEnglishTotalScore+=StuScore[m][2]; } } } switch(m) { case0:{printf("张同学:%d\n",nStuTotalScore); break; } case1:{printf("王同学:%d\n",nStuTotalScore); break; } case2:{printf("李同学:%d\n",nStuTotalScore); break; } case3: {printf("赵同学:%d\n",nStuTotalScore); break; } } } printf("小组数学总分:%d 小组数学平均分:%.2f\n", nMathTotalScore,(double)nMathTotalScore/4); printf("小组语文总分:%d 小组语文平均分:%.2f\n", nChineseTotalScore,(double)nChineseTotalScore/4); printf("小组英语总分:%d 小组英语平均分:%.2f\n", nEnglishTotalScore,(double)nEnglishTotalScore/4);}程序执行的结果为:说明(1)其中,定了StuScore[4][3]四行三列数组存放学生成绩,每一行存放一名学生的三科成绩。(2)通过遍历列下标获取每个小组不同学科的总分,通过遍历行下标获取每个小组成员的总分,最后将小组不同学科的总分和平均分输出。(3)第一个switch分支case的0、1、2分别表示的是数学、语文、英语成绩。第二个switch分支case的0、1、2、3分别表示的是张同学、王同学、李同学、赵同学四个人的总成绩。注意(1)二维数组说明符中必须有用两个方括号括起来的常量表达式,常量表达式的值只能是正整数。可以把“常量表达式1”看成是矩阵的行数,把“常量表达式2”看成是矩阵的列数。(2)二维数组的元素在内存中占一系列连续的存储单元。数组元素在内存中的排列顺序是先存放第0行的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论