C数组的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对于学生的信息用数组表示。
用一维数组num表示学生的学号;用一维数组 元素num[i]表示第i个学生的学号。
用一维数组s表示学生的某门课程的考试成绩; 用一维数组元素s[i]表示第i个学生某门课程的 考试成绩。
2021/3/24
9
第9页/共58页
源程序清单:
#include<iostream>
using namespace std;
for(int j=0;j<100;j++) { array[j]=2;
cout<<array[j]<<" "; if((j+1)%10==0) cout<<endl; } }
2021/3/24
8
第8页/共58页
例4.3、有n个学生参加某门课程的考试,把高于 平均成绩的学生学号和成绩输出出来。
思路分析:
if(array[i]<small) small=array[i];}
cout<<"big="<<big<<",small="<<small<<endl;
}2021/3/24
13
第13页/共58页
例4.6、利用折半查找法,在按从小到大顺序排
列的十个数据中查找是否有键盘输入的数值x。
#include<iostream>
2021/3/24
1
第1页/共58页
§4.1 数值型数组应用
一维数组的定义格式:
类型 数组名[下标表达式]
如:int array[5];
定义了一个名叫array的一维整型数组,其数 组元素分别为:
array[0], array[1], array[2],
array[3], array[4]。
2021/3/24
对array的5个元素赋了初值,
b数组中b[0],b[1],b[2]三个元素分别赋了初 值5,6,7,而b[3],b[4]则为零。
数值型数组在定义时若对其中某些元素赋了 初值,则其它未赋初值的元素将自动设置为0。
2021/3/24
4
第4页/共58页
一维数值型数组的赋值和输入输出:
数组名是数组首元素的内存地址, 是一个常 量,不能被赋值。
int a[5]={1,2,3,4,5}; for(j=0;j<5;j++)
cout<<a[j]<<endl;
2021/3/24
6
第6页/共58页
例4.1、输入一维数值型数组各元素的值,并将 各元素的值输出。
#include<iostream>
using namespace std;
void main()
2021/3/24
11
第11页/共58页
源程序清单:
#include<iostream>
#iwk.baidu.comclude <iomanip>
using namespace std;
void main(void)
{ int i,f[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{ if(i%5==0)cout<<endl;
cout<<setw(5)<<f[i];
}
} 2021/3/24
12
第12页/共58页
例4.5、求一维数组中最大、最小元素
#include<iostream>
using namespace std;
void main()
有一个下标表达式,则该数组叫做一维数组; 有两个下标表达式,则该数组叫做两维数组; 有N个下标表达式,则该数组叫做N维数组。
数组中的变量称为数组元素,由于数组中每 个元素都有下标,因此数组元素也称为下标变量;
数组下标取值从0开始,使用数组时下标不能 越界;
同一数组的所有数组元素在内存中占用一片 连续的存储单元。
一维数值型数组: 要对各数组元素操作,不 能直接用数组名操作。
输入数组各数组元素的值:
int j,a[5];
for(j=0;j<5;j++)
cin>>a[j];
直接用 cin>>a; 错误。
2021/3/24
5
第5页/共58页
输出数组各数组元素的值: int a[5]={1,2,3,4,5}; cout<<a; //输出内容错,输出是一地址
if(s[i]>ave)cout<<num[i]<<s[i]<<endl;
} 2021/3/24
10
第10页/共58页
例4.4、求Fibonacci数列前20项。
思路分析: Fibonacci数列前20项的值用一个一维数组f
表示,其中前两项的值分别是1。因此,在定义 一维数组f时,给前两个数组元素赋初始值1。在 输出结果时,每行输出5个数。
using namespace std;
void main(void)
{ int a[10],i,bot=0,mid,top=9,x,pos;
void main( )
{ int i,n;
float num[50],s[50],sum=0.0,ave;
cin>>n;
for(i=0;i<n;i++) cin>>num[i]>>s[i];
for(i=0;i<n;i++) sum=sum+s[i];
ave=sum/n;
for(i=0;i<n;i++)
{ double array[10]={68.5,87.4,83.1,98.5,93.5,
76.9,98.1,62.4,54.6,91.7},big,small;
big=small=array[0];
for(int i=0;i<10;i++)
{ if(array[i]>big) big=array[i];
2
第2页/共58页
一维数组元素的存放顺序:
按下标顺序存放在连续的内存单元中。
array[5]:
array[0] array[1] array[2] array[3] array[4]
2021/3/24
3
第3页/共58页
一维数组的初始化:
初始值用花扩号扩起,数组元素按存储顺序对 应取值。
如:
int array[5]={1,2,3,4,5}, b[5]={5,6,7};
{ int j,a[5];
for(j=0;j<5;j++) cin>>a[j];
for(j=0;j<5;j++)
cout<<a[j]<<" ";
}
2021/3/24
7
第7页/共58页
一维数组应用举例
例4.2、对一个大小为100的一维整型数组各元素 赋值2
#include<iostream> using namespace std; void main() { int array[100];
相关文档
最新文档