- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6章数组
6.4.2 二维数组的访问 【例6-9】 有一个3×4的数组stu,存储的是3个学生的4次考试成绩,求每个学生4次考试的平均成绩和所有学生所有考试成绩的最高分。 算法分析:定义一个3行4列的二维数组,其中,数组的每一行对应一个学生,每一列对应一次考试成绩。分别用函数avg()求每个学生的平均成绩和max()最高成绩来完成。 max()函数函数头:int max(const int max_grades[ ][N], int s, int t ),max_grades是形参数组,第一维长度省略。 s和t是两个整型形参。其中,s接收学生人数,t接收的考试次数。max()函数的主要功能是遍历二维数组的所有数组元素,找出最大数。 avg ()函数头:double avg( const int avg_grade[], int t),avg_grade是形参数组。整型形参t接收的实参是考试次数。这个函数的主要功能是对每个学生的4次考试成绩求和,然后计算出平均分,返回给主调函数。 6.4.2 二维数组的访问 #include stdio.h #define M 3 #define N 4 /*函数原型*/ int max(const int max_grades[ ][N], int s, int t ) ; double avg( const int avg_grade[], int t) ; int main(void) { const int stu [M][N]={{89,76,84,69},{77,65,73,61},{90,83,74,80}}; /*定义只读数组stu并初始化 */ int i,j; /*i表示学生计数器, j表示考试成绩计数器*/ printf(输出数组:\n); printf( [0] [1] [2] [3] ); 6.4.2 二维数组的访问 for(i=0;iM;i++){ printf(\nstu[%d] , i ); for (j=0; jN; j++){ printf(%-5d,stu[i][j]); } /*结束内循环*/ } /*结束外循环*/ printf(\n); printf (最高分是:%d \n, max(stu, M, N)); for(i=0;iM;i++){ /* 计算每个学生的平均成绩 */ printf(第%d个学生的平均成绩是 %.2f \n,i+1, avg(stu[i],N)) ; } return 0; } 6.4.2 二维数组的访问 int max(const int max_grades[ ][N], int s, int t ) { int i,j ; /*循环计数器*/ int high=0; /*定义最高分变量, 设置初值为0*/ for (i=0; is; i++) { /*外循环用于控制学生*/ for (j=0; jt; j++) { /*内循环用于控制考试成绩*/ if (max_grades[i][j]high) { /*当前数组元素的值大于最高分变量的值*/ high= max_grades[i][j]; } }/*结束内循环*/ }/*结束外循环*/ return high; /*返回最高分*/ } 6.4.2 二维数组的访问 double avg( const int avg_grade[], int t) { int i ; /*循环计数器*/ int total=0 ; /*定义考试成绩之和变量*/ for(i=0; it; i++) { /*开始循环, 对每个学生4个考试成绩进行求和*/ total+= avg_grade[i] ; } /*结束循环*/ return (double) total/t ; /*返回平均分*/ } 实参数组stu[i]的地址传递给形参数组avg_grade。 二维数组实际上是这样一个一维数组:它的每个数组元素是一个一维数组,二维数组中的一行就相当于一个一维数组。 6.4 二维数组 6.4.3 二维数组应用举例 1.矩阵 矩阵是一种典型的二维数组,代表同类数据的二维集合。 【例6-10】 将一个3行4列的矩阵行列互换,计算并输出其转置矩阵。 算法分析:矩阵的行列互换,即求
您可能关注的文档
- 4章数组与指针.ppt
- 4章细胞的物质输入和输出.ppt
- 4章电子表格软件ExcelP.ppt
- 4章绘制简单二维图形.ppt
- 4章综合布线系统工程施工.ppt
- 4章环境与环境污染.ppt
- 4章网络层.ppt
- 4章视频信息压缩与处理.ppt
- 4章表与数据库的基本操作.ppt
- 4章计算机软件系统.ppt
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 手术室人员行为管理与规范.pptx VIP
- 2025年呼和浩特市土默特左旗社区工作者招聘考试试题 .pdf VIP
- 卫生院优质服务基层行创建资料(1.1.2主要任务).docx VIP
- 2025年教职工疗休养服务项目212页.docx VIP
- 2025年内蒙古自治区中考语文试题卷(含答案解析).docx
- 中学生英才计划面试常见问题.docx VIP
- 社会组织矛盾纠纷排查化解工作总结.pptx VIP
- 近十年管综数学真题.pdf VIP
- 13、安放式支管台组对焊接.pptx VIP
- SIEMENS西门子 SIMATIC ET 200SP 电机启动器 (3RK1308‑0..00‑0CP0)设备手册.pdf VIP
文档评论(0)