实验七--多维数组的使用_第1页
实验七--多维数组的使用_第2页
实验七--多维数组的使用_第3页
实验七--多维数组的使用_第4页
实验七--多维数组的使用_第5页
全文预览已结束

下载本文档

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

文档简介

C程序设计实验使用实验7 _ _多维数组实验目的:(1)掌握二维数组定义方法、初始化分配和元素引用。(2)二维数组元素的输入/输出、最大值查找、平均问题的编程方法;实验环境:Turbo C for Windows集成实验和学习环境6.11使用实验要求:1.与实验中给出的内容一起,认真设计和实验实验阶段。2.总结实验过程并提交实验报告:方案、编程、调试、结果、分析、结论。A11 a12.a1nA21 a22.a2nA=.Am1 am2.amn实验内容:二维阵列是m行n列矩阵。也就是说:1、定义二维数组和分配初始化:(1)定义格式:类型阵列名称;其中:m,n是常量表达式,m=数组行,n=数组列数。范例:int a34;表示在第3行第4列中总共定义了12个元素的二维整数数组a。阵列中的每个元素如下所示:A00 a01 a02 a03A10 a11 a12 a13A20 a21 a22 a23您可以将二维阵列视为特殊的一维阵列。换句话说,每个元素又是一个一维阵列。(2)二维阵列的初始化分配二维数组通过以下方式初始化分配:所有元素的初始值有两种方法可以为数组中的所有元素指定初始值:方法1: 0行初始值,1行初始值,m行初始值也就是说,每行一个花括号,用逗号分隔花括号,所有初始值都附加一个花括号。例如,int a 3 4=1,2,3,4,5,6,7,8,9,10,11,12方法2: 0行初始值,1行初始值,m行初始值所有初始值都放在一个大括号内,并按数组的顺序赋予每个元素初始值。例如:int a 3 4=1,2,3,4,5,6,7,8,9,10,11,12 ;附注:如果您为所有元素指定初始值,则在定义阵列时,您可以不指定列数,而必须指定栏数。例如:Int a =1,2,3,4,5,6,7,8,9,10,11,12 ;或:Int a =1,2,3,4,5,6,7,8,9,10,11,12 ;部分元素初始值0行部分初始值,1行部分初始值,m行部分初始值例如:Int a 3 4=1,2,5,9,10,11 ;表示二维阵列a的元素a00、a01、a10、a20、a21、a图二维阵列存储方法A001A012A023A034A105A116A127A138A209A2110A2211A23122,二维阵列存储方法逐行存储二维数组元素。依次保存第一行元素和第二行元素,然后将每个行元素放置在一系列连续的存储单元格中。例如,上一节中定义的a数组存储在内存中时,每个数组元素的排序顺序如图所示。3,请参阅二维阵列元素阵列名称下标运算式1下标运算式2下标表达式1=元素行号、下标表达式2=元素列号(行号和列号必须为整数)。示例1通过键盘在3行4列二维数组中输入整数值,并以表格格式输出此数组的所有元素。程序如下:Main()Int a34,I,j;printf( input twelve integrers : );for(I=0);i3;I)for(j=0);j4;j)scanf(“% d”,aIj);for(I=0);i3;I)for(j=0);j4;j)Printf (,aIj);printf(“ n”);程序运行后提示:input twelve integer : 12345678910112123456789101112要讨论的问题:输入两个二维阵列a,b。数据处理为C=A B,最后输出数组C。如何编程?【例1】将一个二维数组的行和列元素互换,形成另一个二维数组,即数组的前置运算。例如:阵列b阵列1 2 3 4 1 5 95 6 7 82 6 109 10 11 123 7 1148 12分析:只要交换每个阵列元素的两个下标(bji=aij),就可以将a阵列转换为b阵列。程序如下:Main()Int a 3 4=1,2,3,4,5,6,7,8,9,10,11,12 ;int b43;Int i、j;printf( Array a : n );for(I=0);i3;I )/*输出a阵列*/for(j=0);j4;j)Printf (,aIj);printf(“ n”);for(I=0);i3;I )/*将a阵列转换为b阵列*/for(j=0);j4;j)bjI=aIj;printf( Array b : n );for(I=0);i4;I )/*输出b阵列*/for(j=0);J3;j)Printf (,bIj);printf(“ n”);程序运行后输出:阵列Array a:1 2 3 45 6 7 89 10 11 12阵列b :1 5 92 6 103 7 114 8 12一组有5名学生,考试了3门课程,他们的学号和成绩如表4.1所示,求出每个学生的平均成绩,并以表格形式输出每个学生的学号、3门课程和平均成绩。表1学生成绩情况表学号数学语文外来语平均分数10019080851002707580100365707510048550601005809070分析:可以定义包含5行3列的二维数组,以保存5个学生的3个课程成绩,阵列中每行的3个元素为一个学生的3个课程分数,5个学生保留5行。也可以定义包含5个元素的2个一维阵列,每个阵列包含5个学生的学号和平均成绩。在统计一个学生的平均成绩时,只需将二维数组的一行中的3个元素加起来除以3,然后存入平均分数数组的相应元素即可。像这种数据处理一样,程序处理计算机的典型过程是:(1)数据输入。(2)数据处理;(3)汇出资料。程序如下:#define M 5#define N 3Mai

温馨提示

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

评论

0/150

提交评论