数组及其应用

数组及其应用

ID:38706388

大小:52.50 KB

页数:2页

时间:2019-06-18

数组及其应用_第1页
数组及其应用_第2页
资源描述:

《数组及其应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数组及其应用10.9输入全校学生的期中考试总分,按照成绩从高分到低分输出。学校人数不超过1800人。如:输入:5600580620610635输出:635620610600580一、数组一)一维数组1.数组的定义  用来描述由固定数目的同一类型的元素组成的数据结构。一维数组类型的一般格式:array[下标1..下标2]of<基类型>;全校1800名学生:如:vara:array[1..1800]ofinteger;1)、a是数组名,代表的并不是一个变量,而是一批变量:a[1],a[2],a[3]……a[1800]共1800个变量。2)、array、of是定义数组的保留字;3)、[1..

2、1800]是数据编号的下限和上限,说明了数据的个数(上限-下限+1);4)、最后一个是数据的基类型:每个数据元素的数据类型。2、数组元素的使用:数组的每个元素和普通的变量完全一样,可以赋值、输入、输出等操作。如:vara:array[1..1800]ofinteger;读入1800个学生的语文成绩:read(a[1]);a[1]:=90;a[i+j]:=120;数组元素的输入与输出通常用for循环完成:Fori:=1to1800doread(a[i]);//读入Fori:=1to1800dowrite(a[i],’‘);//输出二)数组的应用1、(练习数组的输入与输出基本操作)从键盘上

3、顺序输入n(N<100)的数,按输入顺序和反序输出。输入:520104526输出:2010452626541020varn,i:integer;a:array[1..100]ofinteger;beginreadln(n);fori:=1tondoread(a[i]);fori:=1tondowrite(a[i],’‘);fori:=ndownto1dowrite(a[i],’‘);end.2、编程将一个十进制整数k转化为二进制数(k<1000000)。样例:输入:19输出:10011vark,n,i:longint;a:array[1..20]ofinteger;beginreadl

4、n(k);n:=0;whilek<>0dobeginn:=n+1;a[n]:=kmod2;k:=kdiv2;end;fori:=ndownto1dowrite(a[i]);end.选择排序算法基本思想:对待排序的序列进行n-1遍处理:第1遍处理是从a[1],a[2],……a[n]中选择最小的放在a[1]位置;第2遍处理是从a[2],a[3],……a[n]中选择最小的放在a[2]位置;……第I遍处理是将a[i],a[i+1],……a[n]中最小的数与a[i]交换位置,这样经过第i遍处理后,a[i]是所有的中的第i小。即前i个数就已经排好序了。N-1遍处理后,剩下的最后一个一定是最大的,不

5、需要再处理了。a:待排序的数组;//从小到大排序fori:=1ton-1do{从第一个元素开始,进行n-1遍处理}forj:=i+1tondo{第i遍处理}Ifa[i]>a[j]then{交换a[i]和a[j]}begint:=a[i];a[i]:=a[j];a[j]:=t;end;constmaxn=100;vara:array[1..maxn]ofinteger;n,i,j,t:integer;beginreadln(n);fori:=1tondoread(a[i]);fori:=1ton-1doforj:=i+1tondoifa[i]

6、[i]:=a[j];a[j]:=t;end;fori:=1ton-1dowrite(a[i],'');writeln(a[n]);end.冒泡排序又称为交换排序,其基本思想是:对待排序记录的关键字进行逐个比较,如发现两个记录是反序的,则进行交换,直到无反序排序的记录为止。例2:输入7个数据,然后用冒泡法对其进行从小到大排序。测试数据:输入:3543423487890输出:3834548790234分析:使用冒泡法的方法是:逐次扫描,每次扫描都对相邻的两个元素进行比较,每当发现相邻两元素的顺序不对时,立即进行交换。扫描一遍完毕后,就把一个当前最大的数“沉”到底部,而较小的数如同气泡一样往

7、上冒,所以称之为“冒泡排序法”。现设F记录在当前一遍的扫描过程中,是否发生过交换。若F=1表示执行过交换操作,F=0则表示没有进行过交换,我们称F为交换标志。可得程序如下:PROGRAMAA;CONSTN=7;TYPEARRAYTYPE=ARRAY[1..N]OFINTEGER;VARA:ARRAYTYPE;I,J,K,F:INTEGER;BEGINFORI:=1TONDOREAD(A[I]);FORI:=1TON-1DOBEGINF:=0;F

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。