第7章一维数组和二维数组.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章一维数组和二维数组

例7.3 用起泡法将任意十个数按由小到大的方式排序。 例: 第7章 一维数组和二维数组 一、一维数组 1、一维数组的定义 2、一维数组元素的引用 3、一维数组的初始化 二、二维数组 1、二维数组的定义和引用 2、二维数组的初始化 数组是数目固定,类型相同的若干变量的有序集合。 数组中的每一个数称为数组元素,数组中的每一个元素都属于同一个数据类型。 一、一维数组 1、一维数组的定义 定义的格式: 类型说明符 数组名[整常量表达式]; 如: int score[80]; 说明: 类型说明符:数组元素的类型。 数组名:即数组的名称,其命名方法同变量名。 整常量表达式:表明数组的大小,即数组元素的个数。 例: float farr[30]; 或:#define N 10 int a[N]; 但注意: int n=10; int arr[n]; 引用方式: 数组名[下标] 如:int a[5]; a[0]=1; printf(“%d”,a[0]); 2、一维数组元素的引用 把a[0]的变量赋值为1 a数组中有5个元素,分别是:a[0],a[1],a[2],a[3],a[4] 显示a[0]的值 注意: 下标可以是整型常量或整型表达式 例如:int i=0,a[5]; a[i]=10; 引用a[5] 是错误的 一维数组元素引用的规定: 数组必须先定义后使用。 数组元素只能逐个被引用,不能一次引用整个数组。 对数组中所有元素逐个引用时,通常可使用循环结构。 P132例7.1: #include stdio.h void main() { int i,a[10]; for(i=0;i=9;i++) a[i] = i; for(i=9;i=0;i--) printf(“%d,”,a[i]); } for(i=0;i=9;i++) scanf(“%d”,a[i]); 3、一维数组在内存中的存放方式: 数组定义以后,编译系统(计算机)将在内存中开辟一块连续的存储单元用于存放数组元素,数组名表示存储单元的首地址,存储单元的大小由数组的类型和数组的大小决定。 例如 int a[5]; a a[ 4 ] a[ 3 ] a[ 2 ] a[ 1 ] a[ 0 ] 2字节 2字节 2字节 2字节 2字节 数组的初始化:定义数组时对数组元素赋以初值。 4、一维数组的初始化 格式: 类型符 数组名[表达式]={初值表}; 给全部元素赋初值。 例 int a[8]={ 0,1,2,3,4,5,6,7 }; 7 6 5 4 3 2 1 0 a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] 给部分元素赋初值。 例 int a[8]={ 0,1,2,3,4 }; 0 0 0 4 3 2 1 0 a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] 给全部元素赋初值时可不指定数组的长度。 例 int a[ ]={ 0,1,2,3,4,5,6,7 }; 7 6 5 4 3 2 1 0 a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] 例7.2 用数组处理Fabonacci数列,输出前20个数。 #include stdio.h void main() { int i; int f[20]={1,1}; for(i=2;i20;i++) f[i]=f[i-1]+f[i-2]; for(i=0;i20;i++) { if(i%5==0) printf(“\n”); printf(“%12d”,f[i]); } } 第 0 趟 682931 682931 628931 628931 628931 628391 628391 628319 628319 628319 268319 268319 268319 263819 263819 263189 263189 第 1趟 231689 第 2趟 213689 第 3趟 123689 第 4趟 682931 原 数 思路:将相邻两个数进行比较,使小数在前,大数在后。 分析说明: 1)相邻两数比较: a[j]>a[j+1] 2)第0趟:6个数,j=0~4;比较5次,找出最大数,放在最后。 3)第1趟:5个数,j=0~3;比较4次,找出次大数,放在最大数前。 4)余此类推,经过5趟,将6个数排序输出。 所以:外循环为 i=0~4,内循环为:j=0~4-i; 即:for ( i=0

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档