C语言程序设计-第5章-数组.pptVIP

  • 34
  • 0
  • 约1.07万字
  • 约 64页
  • 2018-03-27 发布于江西
  • 举报
C语言程序设计-第5章-数组.ppt

a[3][4]=3; /* 下标越界 */ a[1,2]=1; /* 应写成 a[1][2]=1; */ 5.3.2 二维数组元素的引用 例:int a[3][4]; a[0][0]=3; a[0][1]=a[0][0]+10; 数组名[行下标表达式][列下标表达式] 数组元素的表示形式 : * 5.3.3 二维数组的初始化 例:int a[2][3]={1,2,3,4,5,6} 1.按行赋初值 例:int a[2][3]={{1,2,3},{4,5,6}} 初始化后结果: 1 2 3 4 5 6 2.按数组元素在内存中排列的顺序对各元素赋初值 3.给部分元素赋初值 例:int a[2][3]={{1},{4}}; 初始化后结果: 1 0 0 4 0 0 * 5.3.3 二维数组的初始化(续) 4.数组初始化时,行长度可省,列长度不能省 例如:int a[][3]={1,2,3,4,5,6,7}; int b[][4]={{1},{4,5}}; 初始化结果: a 结果: a[0]: 1 2 3 a[1]: 4 5 6 a[2]: 7 0 0 b 结果: b[0]: 1 0 0 0 b[1]: 4 5 0 0 * 下面对二维数组的定义都是错误的: 5.3.3 二维数组的初始化(续) ? ? ? float x[3][ ]={1.0,2.0,3.0,4.0,5.0,6.0}; int a[ ][ ],b[ ][2],c[3][ ]; int m[2][4]={1,2,3,4,5,6,7,8,9}; /*初值个数多于数组元素的个数,编译出错*/ * 5.3.4 二维数组应用举例 【例5-7】将表5-1中4人的学号及4门课的成绩输入计算机后再按行输出。 表5-1 某宿舍期末考试成绩 学号 高数 物理 英语 计算机 1001 87 75 72 66 1002 98 85 92 83 1003 67 78 53 76 1004 48 60 76 67 * 程序如下: #include stdio.h void main( ) { int a[4][5],i,j; for (i=0; i4; i++) for (j=0; j5; j++) scanf(%d,a[i][j]); printf(\n); printf(学号\t高数\t物理\t英语\t计算机\n); 【例5-7】 (续) * 【例5-7】 (续) for (i=0; i4; i++) { for (j=0; j5; j++) printf(%d\t,a[i][j]); printf(\n); } printf(\n); } 程序运行情况如下: 1001 87 75 72 66? 1002 98 85 92 83? 1003 67 78 53 76? 1004 48 60 76 67? 学号 高数 物理 英语 计算机 1001 87 75 72 66 1002 98 85 92 83 1003 67 78 53 76 1004 48 60 76 67 * 5.3.4 二维数组应用举例(续) 【例5-8】某班有N名学生,期末考试课程有高数、物理、英语和计算机。设计一个程序实现如下功能: (1)统计每个学生的平均分。 (2)统计每门课程的最高分。 程序如下: #define NUM 4 #include stdio.h void main( ) { int a[NUM][6],i,j,sum,max; * 【例5-8】 (续) printf(请按行输入数据,数据之间用空格分开:\n); for (i=0;iNUM;i++) for (j=0;j5;j++) scanf(%d,a[i][j]); for (i=0;iNUM;i++) /* 求每人的总分和平均分 */ { sum=0; for (j=1;j5;j++) sum=sum+a[i][j];

文档评论(0)

1亿VIP精品文档

相关文档