- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学C05数组和字符串
第五章 数组与字符串;; 数组的概念;5.1 数组的概念 ;一、数组的引入;二、数组的概念;一、一维数组的定义; 例如:
int a[10];;int a[10];;二、一维数组的存储结构;三、数组元素的引用形式;四、一维数组的初始化;(3) 对数组中部分元素指定初值 ( 这时不能
省略数组长度 )
如 : int a[5] = { 1 , 3 , 5 }; ;五、一维数组的输入和输出;例5.1 输入n个成绩,求平均分,输出高于平均分的成绩;例5.2 用一维数组求Fibonacci 数列;程序举例;一、二维数组的定义;一、二维数组的定义;a[1][0]?a[1][1]?a[1][2];三、二维数组的初始化; int b[][3] = { {1,2,3},{4,5,6}};;四、二维数组元素的引用形式;五、二维数组的输入和输出;例5.3 矩阵转置(即原来的行变为列);程序举例;例5.4: 有一个3*4的矩阵, 编程求出其中的最大值及其所在的行号和列号。(查找极值);5;5.5 数组的应用;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]‘ ‘;
; a0 a1 a2 a3 ……. an-1;#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 ;
}
}
;例如:
3 5 7 12 18(m=5), 将b=10插入
步骤:
(1)要找到b在数组中的位置
(2)给b让位置
(3)将b放到该位置上
(4)数组元素的个数 m 加 1;b=10;例如:
3 5 7 10 12 18 (m=6), 将b=10删除
步骤:
(1) 要找到b在数组中的位置
(2) 后面的数组元素依次前移,覆盖该位置
上的数组元素即可实现删除
(3) 数组元素的个数 m 减 1;3; 一种高效查找办法,其基本思想是逐步缩小查找范围,采取半分作为分割范围可使比较次数最少. 比较过程:(设数列已做升序排序处理)
设置三个变量,分别代表数组序列 s 的low,high和 mid位置,其中mid=(low+high)/2,进行下列判断;例5.6 输入一个数据,在数组中查找是否有该数据;5.6 字符串;一、字符数组;二、字符串和字符串结束标志; 三、 字符数组的初始化;2. 对字符数组指定字符串初值;1. 输入单个字符
char c[8] ;
int i ;
cinc[0]c[1]c[2] ; ;注意 :
(1) 输入、输出字符串时不包括“ ”
(2) cin输入时系统一直读取字符,直到遇到“空白
符”为止。
例如:输入数据 hello world
C数组中内容为hello;五、字符串处理函数string.h;#include iostream.h
#include string.h
void main()
{ char st
文档评论(0)