二维数组与字符数组.doc_第1页
二维数组与字符数组.doc_第2页
二维数组与字符数组.doc_第3页
二维数组与字符数组.doc_第4页
二维数组与字符数组.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

2010.11.25 周四 2节l 上课时间调整:周四下午 3:20-4:50 2节(中间不休息)周日上午 8:00-11:20 4节(中间休息20分钟)l 收费通知:周四通知,利用周五一二节下课时间,各位同学把授课费交到收费同学手中,上午间操将收到的费用交到礼堂二楼孙老师处。l 2010复赛情况总结整体情况较好,存在遗憾!孙艺东、綦伯宇、宫建豪发挥不错!l 国家竞赛政策调整1.3 二维数组与多维数组1.3.1 二维数组一般形式:类型说明符 数组名 常量表达式1常量表达式2【例】float a34,b510注意:千万不要写成 a3,41.3.2 二维数组初始化:1)分行给二维数组初始化int a34=1,2,3,4,5,6,7,8,9,10,11,122)一一对应赋值int a34= 1,2,3,4, 5,6,7,8, 9,10,11,123)对部分元素赋值int a34=1,5,9;对矩阵的第一列赋值,每行第一个值为1,5,9,其余为01 0 0 05 0 0 09 0 0 0int a34=1,0,6,0,0,11;1 0 0 00 6 0 00 0 11 0int a34=1,5,6;第三行不赋值1 0 0 05 6 0 00 0 0 0int a34=1,9;第二行不赋值1 0 0 00 0 0 09 0 0 04)如果对所有元素都赋值,第一维可以省略,第二维必须有【例】int a34= 1,2,3,4, 5,6,7,8, 9,10,11,12也可以写成:int a4= 1,2,3,4, 5,6,7,8, 9,10,11,12数组初始化的快捷方法memset函数(内存中连续空间的初始化)int a10;for (i = 0; i 10; i+)ai = 0;和#includememset(a, 0, sizeof(a);如定义一个二维数组inta2525;如何用memset对其初始化为0;memset( a, 0, sizeof( a ) );1.3.3 二维数组应用举例【例】将一个二维数组行列互换,存到另外一个二维数组中如1 2 3a= 4 5 6 1 4b= 2 5 3,6main()int a23=1,2,3,4,5,6;int b32,i,j;for(i=0;i=1;i+) for(j=0;j=2;j+)printf(“%5d”,aij);bji=aij; printf(“n”); for(i=0;i=2;i+) for(j=0;j=1;j+) printf(“%5d”,bij); printf(“n”); 【例】有一个34矩阵a34=1,2,3,4,9,8,7,6,-10,10,-5,2,编程求出值最大的元素及其所在的行号、列号main()int i,j,raw,colum,max;int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;max=a00;for(i=0;i=2;i+) for(j=0;jmax) max= aij;raw=i;colum=j;printf(“%d,%d,%d”, aij,raw,colum);【二维、多维数组训练】1.求一个3*3矩阵两条对角线之和 2.利用二维数组打印杨辉三角(10行)3.打印“魔方阵”。魔方阵是指每一行的和、每一列的和、对角线的和均相等。例如三阶魔方阵:8 1 63 5 74 9 2要求打印出1到n2的自然数构成的魔方阵3.找出一个二维数组的鞍点。即该位置上的数在该行上最大,在该列上最小。也可能没有鞍点。1.4 字符数组1.4.1 字符数组的一般形式:char c101.4.2 字符数组的初始化1)逐个字符赋值给数组元素【例】char c10=i, ,a,m, ,h,a,p,p,y;2)若字符个数大于数组长度,按语法错误处理;若字符个数小于数组长度,将这些字符赋值给前面那些元素,其余元素为空(即0,ASCII码 0表示空操作)3)如果数组长度与字符个数相同,数组长度可以省略(不用人工数)【例】char c=i, ,a,m, ,h,a,p,p,y;4)可以定义二维字符数组char diamond55= , ,*, ,*, ,*,*, , , , *, ,*, ,*, , ,*钻石图形1.4.3 字符数组的应用【例】输出一个字符串main()char c10= i, ,a,m, ,h,a,p,p,y;int i;for(i=0;i10;i+) printf(“%c”,ci);printf(“n”);【例】输出钻石图形main()char diamond5= , ,*, ,*, ,*,*, , , , *, ,*, ,*, , ,*;int i,j;for(i=0;i5;i+) for(j=0;j字符串2,函数值为一正整数3.字符串1字符串2,函数值为一负整数4.注意:if(str1=str2) printf(“yes”) 错误!if(strcmp(str1,str2)=0) printf(“yes”) 正确写法!1.6.6 strlen(字符数组)测试字符串长度的函数:函数值为字符串的实际长度,不包括结束符0char str10=“China”;printf(“%d”,strlen(

温馨提示

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

评论

0/150

提交评论