C++数组和字符串分解.ppt
文本预览下载声明
数组和字符串;; 数组的概念;;§4-1 数组的概念 ;
例4.1.1:某班有80名学生,求该班成绩的平均分 ;#include iostream.h
void main( )
{ int j , sum , s[80] ;
float ave ;
sum=0;
for ( j=0; j80 ; j++)
{ cins[j];
sum=sum+s[j];
}
ave=sum/80.0;
cout “ave=”ave;
};§4-2-1 一维数组; 数组: 是一组具有相同数据类型 的变量
的有序集合。;int a[10];;二、一维数组的存储结构;三、数组元素的引用形式;四、一维数组的初始化;(3) 对数组中部分元素指定初值 ( 这时不能
省略数组长度 )
如 : int a[5] = { 1 , 3 , 5 }; ;例4.2.1: 输入n个成绩,求平均分;五、一维数组的输入和输出;例4.2.2:用一维数组求Fibonacci 数列;例4.2.3: 输入一个数据,在已知数组中查找是否有该数据;课堂练习:
有一个数列,它的第一项为0,第二项为1,以后每一项都是它的前两项之和, 试生成此数列
的前20项,并按逆序显示出来.;练习答案:
#include iostream.h
Void main( )
{ int f[20]={0,1}, j;
for(j=2;j=19; j++) //生成数列
f[j]=f[j-2]+f[j-1];
for( j=19; j=0; j- -) // 逆序显示
coutf[j];
coutendl;
};§4-2-2 二维数组;一、二维数组的定义;二、二维数组的存储结构;a[1][0]?a[1][1]?a[1][2];三、二维数组的初始化; int b[][3] = { {1,2,3},{4,5,6}};;四、二维数组元素的引用形式;五、二维数组的输入和输出;六、二维数组程序设计举例;5;例4.2.5: 将一个矩阵进行转置(即原来的行变为列);课堂练习:;第一方面:利用数组进行数值计算:书中给出了三个例子,一个是计算个人所得税,二是进行矩阵求和,三是按月进行公司产值计算,都具有代表性 P103(2);基本算法举例1.排序(1)冒泡法排序;8
5
4
2
9;/*排序*/
for (i=0; iN-1; i++)
for ( j=0;jN-i-1 ; j++)
if (a[j]a[j+1])
{
t =a[j];
a[j]=a[j+1];
a[j+1]=t;
};#includeiostream.h
#define N 10
void main()
{
int i, j, a[N], t;
for(i=0;iN;i++)//输入
cina[i];
for(i=0;iN;i++)//输出
couta[i]‘ ‘;
;(2)选择法排序;第一轮比较,初始化设最大元素下标为 k=0
3 5 7 9 4
k=0
3 5 7 9 4
k=1
3 5 7 9 4
k=2
3 5 7 9 4
k=3
k=3
A(0) 与 A(k)交换的结果:
9 5 7 3 4;#include iostream.h
const int N=10;
void main( )
{ int a[N] , i , j , k , t;
for ( i=0 ; iN ; i++)
cina[i];
for ( i=0 ; iN-1 ; i++)
{ k=i ;
for ( j=i+1 ; jN ; j++)
if ( a[j]a[k] )
k=j ;
if ( k!=i )
{ t=a[i] ;
a[i]=a[k] ;
a[k]=t ;
}
}
;2.在有序数组中插入一个数后使原数组仍然有序。
显示全部