1 / 87
文档名称:

32.ppt

格式:ppt   大小:794KB   页数:87
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

32.ppt

上传人:taotao0b 2017/7/20 文件大小:794 KB

下载得到文件列表

32.ppt

文档介绍

文档介绍:4. 数组
某同学的7门功课成绩分别为:88,89,90,75,76,64,95。设计一个程序求其平均成绩,并增加查询功能:即用户选择1,输出第1门成绩88分,选择2,输出第二门成绩89分,依次类推。
新版的成绩管理系统
ifstream fin(“”);
int sum=0, score;
for(int i=0;i<7;i++)
{
fin>>score;
sum+=score;
}
int average=sum/7;
int number;
cin>>number;
cout<<“要查询的成绩是:”;
switch( number )
{
case 1: cout<<? ;
…………
}
解决方案
难道需要定义七个变量,分别存储每门课的成绩?
ifstream fin(“”);
int sum=0, a, b, c, d, e, f, g;
fin>>a;
sum+=a;
fin>>b;
sum+=b;
…………
fin>>g;
sum+=g;
int average=sum/7;
int number;
cin<<number;
cout<<“要查询的成绩是:”;
switch( number )
{
case 1: cout<<a ;
…………
}
解决方案
非得如此么?
答案是NO!
数组的定义和使用
现实生活中有大量的数据类似于此,它们有相同的类型,需要的处理的方法也一致。为了实现对这些数据统一表达和处理,C/C++提供了“数组”这一数据结构。
定义数组的语法格式:
数据类型数组变量名[个数常量];
使用数组的语法格式
数组变量名[第几个元素]
注意:此处表示第几个元素时,从0开始
ifstream fin(“”);
int sum=0, a, b, c, d, e, f, g;
fin>>a;
sum+=a;
fin>>b;
sum+=b;
…………
fin>>g;
sum+=g;
int average=sum/7;
int number;
cin<<number;
cout<<“要查询的成绩是:”;
switch( number )
{
case 1: cout<<a ;
…………
}
需要淘汰的解决方案
解决方案-采用数组
ifstream fin(“”);
int sum=0;
int score[ 7 ];
for(int i=0; i<7;i++)
{
fin>>score[i];
sum+=score[i];
}
int average=sum/7;
int number;
cin<<number;
cout<<“要查询的成绩是:”;
cout<<score[number-1] ;
都可以不要switch了
定义数组时的注意事项
int a[ ] ;
int n = 100 ;
int a[n] ;
double a[100-50];
float a[‘A’];
const int n = 100 ;
int a[n] ;
定义数组时,必须明确指出数组的大小,任何变量都不允许,只能是“整型”常量或常数。
错误的用法
正确的用法
使用数组时的注意事项
可以通过数组名[下标]的方式访问数组的各个元素,从而达到使用数组的目的;
下标值从0开始
最大下标值:元素个数-1
数组在内存中的映象
数组的各元素在内存中整齐划一地连续排列。