[计算机软件及应用]第6章数组new.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]第6章数组new

第6章 利用数组处理批量数据 问题的引入 键盘输入10个数,求其平均值。 for(i=1,s=0;i=10,i++) {scanf(%f,x);s+=x;} average=s/10.0 进一步要求,将高于平均数的数输出 法一: 再重新输入这10个数 法二: 引进10个变量存放10个数:x1,x2,…x10 scanf(%f%f…%f,x1,x2,…,x10); average=(x1+x2+…+x10)/10.0 if(x1average)printf(%f,x1); if(x2average)printf(%f,x2); … 法三: 引进数组 main() { float s,average,x[10];int i; for(i=0;i10;i++) scanf(%f,x[i]); for(i=0,s=0;i10;i++) s+=x[i]; average=s/10; printf(average=%f\n,average); for(i=0;i10;i++) if(x[i]average)printf(%f,,x[i]); } 6.1 定义和引用一维数组 一维数组的定义(声明) 一维数组元素的引用 一维数组的初始化 一维数组程序举例 检索与排序 6.1.1 一维数组的定义 格式:类型符 数组名[常量表达式]; 例 int a[10],b[10*10]; char ch[20]; 语义: 定义了一个数组,程序中可用若干个变量; 在内存中开辟了连续的空间,存放数组元素. 注 数组名的命名规则同变量名 常量表达式表示数组元素的个数 常量表达式中含常量、符号常量,不能含变量 #define N 100 main() {int a[N],b[N+N],c[N+12];} 6.1.2 引用一维数组元素 格式 数组名[下标] 例如 a[0]=a[5]+a[7]-a[2*3] 注意 下标是常量、变量、表达式 数组元素等同于通常的变量,可输入、输出、赋初值 通过下标的变化访问数组的元素 main( ) { int i , a[10]; for(i=0; i=9;i++) a[i]=i ; for(i=9; i =0;i--) printf(%d,a[i]); printf(\n); } 例 写出下列程序的运行结果 main( ) { int i, a[21]; for(i=1; i21;i++) { a[i]=i; a[i]= a[i]+i; } printf(%d\n,a[i-5]); for ( i=1; i21; i++ ) if(a[i]10) printf(%d ,a[a[i]]); printf(\n); } 6.1.3 一维数组的初始化 定义数组时对全部数组元素赋以初值 int a[10]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 可以只对数组中部分元素赋值 int a[10]={0, 1, 2, 3, 4}; 将花括号中的5个值赋给数组的前5个元素,其余自动为赋0。 若是字符型数组,自动补\0。 int a[10]={0}; 全部为0 所赋初值的个数隐含定义一维数组的大小 int a[]={0,1,2,3,4,5,0}; 等价于 int a[7]={0,1,2,3,4,5,0}; 花括号中的初值可缺省,但有时逗号不能省略,缺省的值将被视为0。 float array[5]={,2.5, ,3.5,}; float array[5]={0,2.5,0,3.5,0}; 例 现有10个数,输出其中的最大值. main( ) { int i ,max; int a[10]={7,25,…,43}; max=a[0]; for(i=1; i10;i++) if(maxa[i]) max= a[i]; printf(max=%d\n,max); } 进一步要求输出最大值及其所在位置: main( ) {int i, k; int a[10]={7,25,…,43}; k=0; for(i=1; i10;i++) if(a[i]a[k]) k= i; printf(max=%d,position=%

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档