下载此文档

第四章 数组.ppt


文档分类:IT计算机 | 页数:约62页 举报非法文档有奖
1/62
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/62 下载此文档
文档列表 文档介绍
第四章数组
一维数组
二维数组
字符串
指针和数组
程序举例
一维数组
引例:
【】求N个学生的平均成绩,并统计高于平均分的人数。
用以前所学知识实现:
int k=0;float s,ave,sum=0;
for(int i=0;i<100;i++)
{ cin>>s;
sum=sum+s; }
ave=sum/100;
for(i=0;i<100;i++)
{ cin>>s;
if(s>ave) k++;
}
用数组来实现:
int k=0;float s[100],ave,sum=0;
for(i=0;i<100;i++)
{ cin>>s[i];
sum=sum+s[i]; }
ave=sum/100;
for(i=0;i<100;i++)
if(s[i]>ave)k++;
数组:一组数据类型相同的元素按一定顺序存放,构成的数据集合。
、存储和初始化
1. 定义形式
数据类型数组名[整型常量表达式];
如:
int s[5];
s[0] s[1] s[2] s[3] s[4]
下标从0开始
数组名是常量,表示数组在内存中的首地址。
数组长度应该为整型常量表达式,不能是变量。如:
s
正确:
const int s=10;
int a[s];
float f[5];
错误:
int s=10;
int a[s];
float b[]
2. 数组的初始化
1) 给所有元素赋初值。
如:int a[5]={0,2,4,6,8}; 或 int a[ ]={0,2,4,6,8};

2) 给部分元素赋初值。如:
int a[10]={1,3,5,7,9};
花括号内列出的值赋给了前面的若干个元素,其余元素系统自动赋0 。
花括号
错误:
int a[10];
a={1,3,5,7,9}; //数组名是个地址常量,不能被赋值。
int a[10];
a[10]={1,3,5,7,9};
//a[10]不是数组中的元素,不能用花括号为一个元素赋多个值。
int c[3]={1,2, 3,4}; //常量个数超过数组定义的长度。
数组元素的引用和基本操作
形式:数组名[下标]
相当于一个普通变量
如有: int a[10]={1,2,3,4,5,6,7,8,9,10},b[10],i(2);
则:
a[3]=a[0]+a[i];
cout<<a[2+i];
cout<<a[a[3]];

cout<<a[10]; //数组下标越界
cout<<a; //对数组一般不能作为一个整体进行操作
b=a;

假设有定义:int a[N]; N是已定义过的符号常量。
(1) 数组元素的输入
for(j=0; j<N; j++)
cin>>a[j];
(2)通过随机函数rand()产生0~100的N个数据
for ( i = 0; i<N;i++) //rand()函数产生0~32727之间的整数
a[i] = int(rand()/32728.* 101);
(3) 数组元素的求和
sum=0;
for(j=0; j<N; j++)
sum+=a[j];
(4) 求数组中的最大元素
max=a[0]; //假设第一个元素值最大
for(j=1; j<N; j++)
if(a[j]>max)max=a[j];
(5) 求最大元素下标
imax=0; //imax代表最大元素下标
for (j=1;j<N;j++)
if(a[j]>a[imax])imax=j;
(6) 将最大元素放于某一特定位置(如放在最前头)
imax=0;
for(j=1;j<N;j++)
if(a[j]>a[imax])imax=j;
if(imax!=0)
{t=a[0];a[0]=a[imax];a[imax]=t;}
数组排序
排序是将一组数按递增或递减的次序排列,如按学生的成绩、球赛积分等排序。常用的算法有:
选择法(√)
冒泡法(√)
插入法
快速排序法
…...
1. 选择法排序
基本思想:
(1) 从n个数的序列中选出最小的数(递增),与第1个数交换位置;
(2) 除第1个数外,其余n-1个数再按(1)的方法选出次小的数,与第2个数交换位置;
(3) 重复(1)n-1遍,最后构成递增序列。
【】对存放在数组中的6个数,用选择法按递增排序。
下标 0 1~5
1 2~5
2 3~5
3 4~

第四章 数组 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数62
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wyj199215
  • 文件大小0 KB
  • 时间2015-04-26