pascal-一维数组

合集下载

PASCAL语言基础总成(完整版)

PASCAL语言基础总成(完整版)
2
PASCAL 语言基础及基础训练
第 3 页 共 48页
Run-time error 错误代码 at 错误发生地址 保存文件 四、 四、保存文件 把当前编辑的程序文件以当前名存盘,只需运行菜单命令[FILE][SAVE](或 F2) ,即可。 关闭当前文件 五、 五、关闭当前文件 当前文件不想现在再编辑了,可把它关闭掉,即运行菜单命令[WINDOWS][CLOSE](或 ALT+F3) , 即可。 打开已有文件 六、 六、打开已有文件 欲打开一个已经存在的程序文件,运行菜单命令[FILE][OPEN](或 F3) ,再按 TAB 键去选择或 不按 TAB 键而直接输入文件名即可。 练习 七、 七、练习 在集成环境中输入以下程序,程序的作用是计算圆的面积,圆的半径由用户从键盘输入,编辑 运行正确后请存盘: program area_of_cicle; 此行可以不输入
第三章、PASCAL 语言程序基本概念 第一节、PASCAL 程序的组成 我们仍以上述程序为例:[例 2、1] program area_of_cicle; const pi=3.1416; var s:real; r:integer; begin writeln(‘Please input radius :’); readln(r); s:=pi*r*r; writeln(‘s=’,s); end. 每一个 PASCAL 程序都由程序头部和程序主体组成,最后以“end.”作为整个程序的结束。 一、程序头部 程序头部毫无疑问是在程序的开头位置,以“program”这个词开始(但经常省略这一) ,以第
第三节、一个 PASCAL 程序 进入编辑状态: 一、 一、进入编辑状态: 选择菜单[FILE][OPEN](今后涉及到菜单调用时, 均以此格式表示, 即选择 FILE 菜单中的 OPEN 功能)功能,打开一个程序文件,在输入文件名时,输入文件的主名即可进入程序编辑状态。这时 可用编辑功能健: 光标键:用以上下左右移动光标位置; INSERT:插入/改写状态切换; TAB;光标跳至下一制表位; CAPSLOCK:大小写切换; DELETE:删除光标位一字符; BACKSPACE:删除光标前一字符; CTRL+Y:删除光标处一行; HOME:光标跳至行首; END:光标跳至行未; PAGEUP:上翻一页; PAGEDOWN:下翻一页; ENTER:回车/换行; 编辑一个 PASCAL 程序: 二、 二、编辑一个 [例 1、1] 输出一句话的小程序:

pascal语言语法

pascal语言语法

Pascal语言语法1. 简介Pascal是由Niklaus Wirth于1968年发明的一种程序设计语言。

它是一种结构化的高级编程语言,特别适用于教育和科学计算领域。

Pascal语言语法严谨而清晰,在许多大学的计算机科学课程中被用于教授基本的编程概念。

2. 变量和数据类型在Pascal中,变量必须在使用之前先声明。

可以使用var关键字声明一个或多个变量。

例如:varx, y, z: integer;name: string;rate: real;对于变量的声明,你需要指定变量的名称和数据类型。

Pascal支持多种数据类型,包括整数(integer)、实数(real)、字符(char)、字符串(string)等。

3. 控制结构Pascal语言支持常见的控制结构,如条件语句和循环语句。

3.1 条件语句条件语句用于根据不同的条件执行不同的代码块。

Pascal中的条件语句有if-then和if-then-else两种形式。

例如,下面是一个使用if-then-else语句的示例:if x > 0thenwriteln('x is positive')else if x < 0thenwriteln('x is negative')elsewriteln('x is zero');3.2 循环语句循环语句用于重复执行一段代码块,直到某个条件不再满足。

Pascal中的循环语句有while、repeat和for三种形式。

下面是一个使用while循环的示例,计算从1加到n的和:varn, sum, i: integer;sum := 0;i := 1;while i <= n dobeginsum := sum + i;i := i + 1;end;writeln('Sum = ', sum);4. 过程和函数Pascal中的过程和函数用于封装一段可重复使用的代码。

Pascal基本教程 数组

Pascal基本教程 数组

Pascal基本教程第七章7.1数组1.数组的定义数组是程序中最常用的结构数据类型,用来描述由固定数目的同一类型的元素组成的数据结构。

数组的每个元素和下标相关联,根据下标指示数组的元素。

数组的存储方式为按行存储,在编译阶段,计算机根据数组的类型说明,确定其存储空间的大小。

数组可以是任何顺序类型。

数组的定义形式:array [<下标类型1>,……<下标类型n>] of <元素类型> 其中n称为数组的维数,每维的下标类型必须是一个顺序类型,通常为子界类型或枚举类型,其作用是指定数组下标的编制方式和下标取值范围。

例如:typesample1=array [1..10]of integer;{有10个元素的一维数组}sample2=array [1..5,1..5]of real;{有25个元素的二维数组,依次按[1,1]……,[1,5],[2,1]……,[2,5],……[5,1],……[5,5]}Var a,b:sample1;C,d:sample2;2.数组的操作当数组的元素类型为简单类型时,其下标变量和简单类型变量一样使用。

例如:a[50]:=50;a[20]:=a[5];一个数组,下标的起始值和终止值是在类型定义中给定的,不能在程序执行中再通过其他途径来改变,所以数组元素的个数在程序运行期间是固定不变的。

数组变量作为整体仅允许同类型数组之间的赋值运算。

例如:var x,y:array[1..10]of integer;Y:array[0..9] of integer;x:=y例:读入5个学生的学号和成绩,计算他们的平均分,若比平均分高10分的等第为A,若比平均分高小于10分的等地为B,若低于平均分,则等第为C,输出他们的成绩和等第。

program sample7d1(input,output);const n=5;typeno=array[1..n] of integer;s=array[1..n]of real;vari:integer;k:real;num:no;score:s;begink:=0;for i:=1 to n dobeginreadln(num[i],score[i]);k:=k+score[i];end;k:=k/n;for i:=1 to n dobeginwrite(num[i],score[i]);if (score[i]-k)>=10 then writeln('A')else if((score[i]-k)<10)and((score[i]-k)>0) then writeln('B')else writeln('C');end;end.7.2 字符串为了使程序能够处理文字信息,Turbo Pascal特别引入了字符串类型,其值表示一个具有可变长度的字符序列。

Pascal基础教程(PDF完整版)

Pascal基础教程(PDF完整版)

Pascal基础教程目录第一课初识PASCAL语言 (1)第二课赋值语句与简单的输出语句 (5)第三课带格式的输出语句输入语句 (12)第四课简单的分支结构程序设计 (19)第五课if嵌套与case语句 (23)第六课for循环 (29)第七课while循环与repeat-until循环 (30)第八课一维数组 (35)第九课多维数组 (39)第十课字符数组与字符串 (45)第十一课枚举、子界、集合及记录类型 (51)第十二课过程与函数 (66)第十三课动态数据类型(指针类型) (76)第十四课文件 (89)附录一Pascal中的字符串函数和数学函数 (111)附录二关于fillchar的使用和讨论 (116)附录三程序的调试技巧 (117)附录四Pascal的多种退出语句用法 (123)第一课初识Pascal语言信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查选手的智力和使用计算机解题的能力。

选手首先应针对竞赛中题目的要求构建数学模型,进而构造出计算机可以接受的算法,之后要写出高级语言程序,上机调试通过。

程序设计是信息学奥林匹克竞赛的基本功,在青少年朋友参与竞赛活动的第一步必须掌握一门高级语言及其程序设计方法。

一、Pascal语言概述PASCAL语言也是一种算法语言,它是瑞士苏黎世联邦工业大学的N.沃思(Niklaus Wirth)教授于1968年设计完成的,1971年正式发表。

1975年,对PASCAL语言进行了修改,作为"标准PASCAL语言"。

PASCAL语言是在ALGOL60的基础上发展而成的。

它是一种结构化的程序设计语言,可以用来编写应用程序。

它又是一种系统程序设计语言,可以用来编写顺序型的系统软件(如编译程序)。

它的功能强、编译程序简单,是70年代影响最大一种算法语言。

二、Pascal语言的特点从使用者的角度来看,PASCAL语言有以下几个主要的特点:⒈它是结构化的语言。

Pascal入门简介:第四课 Pascal数组与字符串(1)

Pascal入门简介:第四课 Pascal数组与字符串(1)

Pascal入门简介:第四课Pascal数组与字符串(1)一. 数组迄今为止,我们已讨论了PASCAL中所有的简单数据类型,似乎我们已经完全有能力编写出能解决各种复杂问题的程序,但是请看下面一个简单问题:输入50名学生某门课程的成绩,要求把高于平均分的那些成绩打印出来,那么只使用简单数据类型显然是难以对付的,因为每一个定义在简单数据类型之上的变量只能存放一个简单类型数据,如果我们要处理的问题需要存储大量的数据,你得用大量的变量去存储这些数据.如上例要用a1 ,a2 ,a3, ……a5 0共50个整形变量,这就给变量的说明和编程带来很大的困难.要解决这个问题,需要引进新的数据类型——数组.应用数组解决上述问题,程序就会变得十分简单.程序如下: for i:=1 to 50 doread(a[i]);readln;sum:=0;for i:=1 to 50 dosum:=sum+a[i];average:=sum/50;for i:=1 to 50 doif a[i]> average then writeln ('No.',i, ' ',a[i]);在这里我们用带下标的变量(亦称数组元素) a[i]来代替a1 ,a2 ,a3, ……a50全体,方括号中的i 称为下标.当循环变量i=1时, a[i]就代表a[1],当i=2时, a[i]就代表a[2]……,当i= 50时, a[i]就代表a[50],输入的时候让i 从1 变化到50,循环体内输入语句中的a[i]也就分别代表a[1] ,a[2] ,a[3],…… a[50]这50个带下标的变量.上述问题所要求达到的目的,用三个简单的循环就可以实现.1.一维数组(1)一维数据的定义当数组中每个元素只带有一个下标时,我们称这样的数组为一维数组,在PAS CAL中定义数组可以采用以下两种方法:①在说明部分的TYPE 区中定义数组类型,然后再在VAR区中说明数组,形式如下:TYPE 数组类型名=ARRAY[下标类型] OF 数组元素类型.例如:TYPE scoretype = array[1..50] of integer; VAR score:scoretype;②直接在VAR区中定义数组,形式如下: VAR 数组名ARRAY [下标类型] OF 数组元素类型例如: VAR score: array [1..50] of integer;在以上两种方式的定义中: ARRAY 是保留字,用于标志数组类型,元素(成员)1..50 是子界类型,它表示相应的数组是由50个元素(成员)组成的有序组,序号分别为1,2,3…50. int eger 表示该数组的各个元素(成员)的类型是整数,即该数组可存储50个整数.左右方括号以及保留字of 都是构造数组类型时的界限符号,数组类型是一种结构类型.所谓结构类型指的是由一个或多个事先已定义过的类型按一定方法构造而成的类型.这些事先已定义过的类型称为“成分类型”或“元素类型”,它可以是简单类型,也可以是结构类型.数组类型是由固定数量的多个成分所组成的有序结构,其中各个成分的类型都必须是一致的.方括号中的下标类型必须是有序类型,用以指出数组的大小和元素的次序,一维数组只有一个下标类型,下标类型可以是标准的BOOLEAN,CHAR,也可以是用户定义的枚举类型或子界类型.下标类型的每一个值对应着该数组的一个元素.通常下标类型表达为形如min..max的子界.数组的大小即元素的个数为ord(max)-ord(min)+1(但ord(max)必须大于ord(mi n)).。

复习Pascal——数组1

复习Pascal——数组1
数 组(一)
1、一维数组
P 程序设计 ascal
定义: Type
类型标识符号=array [下标类型] of 元素类型;
Var
or 数组名:类型标识符; Var
数组名:array[下标类型] of 元素类型;
例6-1定义如下数组:
(1)表示20种商品的价格; (2)表示30件邮件 的安全邮递情况; (3)统计50个学生在一次考试(满分为100,最低分为0分)中各分数
则将删除该数,否则,若数组中的数大于x,则此处就是插入x的位置。
注意:如果是删除,则将x后的数向前平移一个;如果是插入,则先将x 插入点的元素依次向后平移。
JSOI2009年大丰冬令营(B层)
Program ex6-3(input,output); const n=100;
P 程序设计 ascal
end.
思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:
小数采用乘2取整的方法。
JSOI2009年大丰冬令营(B层)
P 程序设计
例6-6 圆盘找数,如图所示:找出4个相邻的数,使其 ascal
相加之各最大和最小的是哪4个数?并给出它们的起
始位置。
本题实际上就是先求出相邻的四个数的和,然
End.
思考:如果将最后一个元素移到第一个位置,其余数据依次向后平移 一个位置,如何修改?如果将数组实现逆序交换,又该如何修改程序?
JSOI2009年大丰冬令营(B层)
3、数组元素的查找、插入、删除
P 程序设计 ascal
例6-3 对于数组a,输入一个测试数据x,如果x存于
数组a,则把x元素删除;否则将x插在相应的位置,
{将数组清0}
能更好存储二进制的 各个位数,可以采用 数组。假定输入的数 据是长整型,则存储

一维数组的定义和使用

一维数组的定义和使用

一维数组的定义和使用一维数组是一种存储相同类型数据元素的线性数据结构。

它的定义形式为:```<数据类型> <数组名>[<数组长度>];```其中,数据类型是指数组中存储的元素类型,数组名是指数组的名称,数组长度是指数组中元素的个数。

一维数组的使用包括数组的初始化、元素的访问和修改等操作。

1. 数组的初始化可以分为静态初始化和动态初始化两种方式:- 静态初始化:直接给数组元素赋初值,如`int[] arr = {1, 2, 3, 4, 5}`;- 动态初始化:先声明数组,再给数组元素赋值,如`int[] arr = new int[5]; arr[0] = 1; arr[1] = 2; ...`。

2. 元素的访问和修改可以通过数组下标来进行操作:- 访问数组元素:使用数组下标来获取数组中的元素值,下标从0开始,如`int value = arr[0]`;- 修改数组元素:使用数组下标来修改数组中的元素值,如`arr[0] = 10`。

下面是一个示例代码,演示了一维数组的定义和使用:```javapublic class ArrayExample {public static void main(String[] args) {// 静态初始化int[] arr1 = {1, 2, 3, 4, 5};// 动态初始化int[] arr2 = new int[5];arr2[0] = 10;arr2[1] = 20;arr2[2] = 30;arr2[3] = 40;arr2[4] = 50;// 访问数组元素System.out.println("arr1[0] = " + arr1[0]); System.out.println("arr2[2] = " + arr2[2]); // 修改数组元素arr1[0] = 100;arr2[2] = 300;System.out.println("arr1[0] = " + arr1[0]);System.out.println("arr2[2] = " + arr2[2]); }}```输出结果:```arr1[0] = 1arr2[2] = 30arr1[0] = 100arr2[2] = 300。

Pascal程序设计知识整理介绍

Pascal程序设计知识整理介绍

Pascal程序设计知识整理1.空间估计:一维数组longint型能开?,二维数组longint型能开?128*1024*1024/4=33882112Sqrt(33882112)=58002.栈、队列3.排序:选排、冒泡、桶排、快排、并归排选排:1284For i:=1 to n-1 doFor j:=i+1 to n doIf a[i]<a[j] thenBeginT:=a[i];a[i]:=a[j];a[j];=t;End;冒泡:1284For i:=1 to n-1 doFor j:=n downto i+1 doBeginT:=a[i];a[i]:=a[j];a[j]:=t;End;桶排:1005For i:=1 to n doBeginRead(a[i]);Inc(b[a[i]]);End;快排:1298I:=l;j:=r;m:=a[(l+r) div 2];RepeatWhile a[i]<m do inc(i);While a[j]>m do Dec(j);If i<=j thenBeginT:=a[i];a[i]:=a[j];a[j]:=t;Inc(i);Dec(j);End;Until i>j;归并排??4.字符串:常用函数、过程、数字字符转换与比较函数:pos、copy、up case、lower case、chr、ord、val、str、过程:delete比较:if (length(s)>length(k)) or ((length(s)=length(k) and (s>=k) then inc(js);转换:val(s,t);str(t,s);5.贪心6.穷举:多重循环穷举、01穷举7.高精度:加、减、乘、除加:1314For i:=1 to n doBegina[i+1]:=a[i+1]+(a[i]+b[i]) div10;A[i]:=(a[i]+b[i]) mod 10;End;减:For i:=1 to n dobeginif (a[i]-b[i]>0) then c[i]:=a[i]-b[i]elsebegina[i+1]:=a[i+1]-1;a[i]:=a[i]+10-b;end;end;8.分治9.递推10.搜索:深搜、广搜深搜1318If t>n then exitElseFor i:=1 to n doIf b[i] thenBeginB[i]:=false;search(t+1);b[i]:=true;End;11.动态规划:01背包、完全背包、多重背包;线型动规;二维动规01:1088For i:=1 to n doFor j:=n downto a[i] doIf f[j-a[i]]+a[i]>f[j] then f[j]:=f[j-a[i]]+a[i];完全:1096For i:=1 to n doFor j:=a[i] to n doIf f[j-a[i]]+a[i]>f[j] then f[j]:=f[j-a[i]]+a[i];多重For i:=1 to n doFor k:=1 to n doFor j:=i downto a[i] doIf f[j-a[i]]+a[i]>f[j] then f[j]:=f[j-a[i]]+a[i];12、计算几何方面:x、y数轴中的点定位,点与点的关系;矩阵(也就是长方形表格中)中行与列的穷举,矩阵中所有大小不一的正方形穷举方法;所有矩形的“格子”内的数累加并赋予一个“格子”的方法,如小猪的方格稿纸。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八课一维数组一、为什么要使用数组例1输入50个学生的某门课程的成绩,打印出低于平均分的同学号数与成绩。

分析:在解决这个问题时,虽然可以通过读入一个数就累加一个数的办法来求学生的总分,进而求出平均分。

但因为只有读入最后一个学生的分数以后才能求得平均分,且要打印出低于平均分的同学,故必须把50个学生的成绩都保留下来,然后逐个和平均分比较,把高于平均分的成绩打印出来。

如果,用简单变量a1,a2,…,a50存放这些数据,可想而知程序要很长且繁。

要想如数学中使用下标变量ai形式表示这50个数,则可以引入下标变量a[i]。

这样问题的程序可写为:tot:=0;{tot表示总分}for i:=1 to 50 do {循环读入每一个学生的成绩,并累加它到总分}beginread(a[i]);tot:=tot+a[i];end;ave:=tot/50;{计算平均分}for i:=1 to 50 doif a[i]<ave then writeln('No.',i,' ',a[i]);{如果第i个同学成绩小于平均分,则将输出}而要在程序中使用下标变量,则必须先说明这些下标变量的整体―数组,即数组是若干个同名(如上面的下标变量的名字都为a)下标变量的集合。

二、一维数组当数组中每个元素只带有一个下标时,我们称这样的数组为一维数组。

1、一维数组的定义(1)类型定义要使用数组类型等构造类型以及第6章要学习的自定义类型(枚举类型与子界类型),应在说明部分进行类型说明。

这样定义的数据类型适用整个程序。

类型定义一般格式为:type<标识符1>=<类型1>;<标识符2>=<类型2>;:<标识符n>=<类型n>;其中type是Pascal保留字,表示开始一个类型定义段。

在其后可以定义若干个数据类型定义。

<标识符>是为定义的类型取的名字, 称它为类型标识符。

类型定义后,也就确定了该类型数据取值的范围,以及数据所能执行的运算。

(2)一维数组类型的定义一维数组类型的一般格式:array[下标1..下标2] of <基类型>;{补充:Turbo Pascal 提供了丰富的数据类型可以分为三大类:简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。

这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。

在这些数据类型中简单类型都是有序类型,除了实型以外的简单类型都是顺序类型,所谓顺序类型就是他们的值不仅是有序的而且是有顺序号。

基类型可以是任何简单类型和构造类型,但不能是文件类型或者包含文件类型分量的构造类型,也不能是类类型和类引用类型。

}说明:其中array和of是pascal保留字。

下标1和下标2 是同一顺序类型,且下标2的序号大于下标1的序号。

它给出了数组中每个元素(下标变量) 允许使用的下标类型,也决定了数组中元素的个数。

基类型是指数组元素的类型,它可以是任何类型,同一个数组中的元素具有相同类型。

因此我们可以说,数组是由固定数量的相同类型的元素组成的。

再次提请注意:类型和变量是两个不同概念,不能混淆。

就数组而言,程序的执行部分使用的不是数组类型(标识符)而是数组变量(标识符)。

一般在定义数组类型标识符后定义相应的数组变量,如:type arraytype=array[1..8]of integer;var a1,a2:arraytype;其中arraytype为一个类型标识符,表示一个下标值可以是1到8,数组元素类型为整型的一维数组;而a1,a2则是这种类型的数组变量。

也可以将其全并起来:var a1,a2:array[1..8]of integer;当在说明部分定义了一个数组变量之后,pascal 编译程序为所定义的数组在内存空间开辟一串连续的存储单元。

例如,设程序中有如下说明:type rowtype=array[1..8]of integer;coltype=array['a'..'e']of integer;var a:rowtype;b:coltype;2、一维数组的引用当定义了一个数组,则数组中的各个元素就共用一个数组名( 即该数组变量名),它们之间是通过下标不同以示区别的。

对数组的操作归根到底就是对数组元素的操作。

一维数组元素的引用格式为:数组名[下标表达式]说明:①下标表达式值的类型, 必须与数组类型定义中下标类型完全一致,并且不允许超越所定义的下标下界和上界。

②数组是一个整体,数组名是一个整体的标识,要对数组进行操作,必须对其元素操作。

数组元素可以象同类型的普通变量那样作用。

如:a[3]:=34;是对数组a中第三个下标变量赋以34的值。

read(a[4]);是从键盘读入一个数到数组a第4个元素中去。

特殊地,如果两个数组类型一致,它们之间可以整个数组元素进行传送。

如:var a,b,c:array[1..100] of integer;beginc:=a;a:=b;b:=c;end.在上程序中,a,b,c三个数组类型完全一致,它们之间可以实现整数组传送,例子中,先将a数组所有元素的值依次传送给数组c,同样b数组传给a,数组c又传送给b,上程序段实际上实现了a,b 两个数组所有元素的交换。

对于一维数组的输入与输出, 都只能对其中的元素逐个的输入与输出。

在下面的应用示例中将详细介绍。

三、一维数组应用示例例2输入50个数,要求程序按输入时的逆序把这50个数打印出来。

也就是说,请你按输入相反顺序打印这50个数。

分析:我们可定义一个数组a用以存放输入的50个数, 然后将数组a内容逆序输出。

源程序如下:program ex5_1;type arr=array[1..50]of integer; {说明一数组类型arr}var a:arr;i:integer;beginwriteln('Enter 50 integer:');for i:=1 to 50 do read(a[i]);{从键盘上输入50个整数}readln;for i:=50 downto 1 do {逆序输出这50个数}write(a[i]:10);end.例3输入十个正整数,把这十个数按由小到大的顺序排列。

将数据按一定顺序排列称为排序,排序的算法有很多,其中选择排序是一种较简单的方法。

分析:要把十个数按从小到大顺序排列,则排完后,第一个数最小,第二个数次小,……。

因此,我们第一步可将第一个数与其后的各个数依次比较,若发现,比它小的,则与之交换,比较结束后,则第一个数已是最小的数(最小的泡往下冒)。

同理,第二步,将第二个数与其后各个数再依次比较,又可得出次小的数。

如此方法进行比较,最后一次,将第九个数与第十个数比较,以决定次大的数。

于是十个数的顺序排列结束。

例如下面对5个进行排序,这个五个数分别为8 2 9 10 5。

按选择排序方法,过程如下:初始数据:8 2 9 10 5第一次排序:8 2 9 10 59 2 8 10 510 2 8 9 510 2 8 9 5第二次排序:10 8 2 9 510 9 2 8 510 9 2 8 5第三次排序:10 9 8 2 510 9 8 2 5第四次排序:10 9 8 5 2对于十个数,则排序要进行9次。

源程序如下:program ex5_2;var a:array[1..10]of integer;i,j,t:integer;beginwriteln('Input 10 integers:');for i:=1 to 10 do read(a[i]);{读入10个初始数据}readln;for i:=1 to 9 do{进行9次排序}beginfor j:=i+1 to 10 do{将第i个数与其后所有数比较}if a[i]<a[j] then {若有比a[i]大,则与之交换}begint:=a[i];a[i]:=a[j];a[j]:=t;end;write(a[i]:5);end;end.给数组赋值的常用函数:fillchar(a,sizeof(a),0) :是把A数组的每个单元赋值为0。

阅读下列程序或程序段,并写出程序的运行结果:1.Var a:array[1..10] of real;I,j,k:integer;BeginFillchar(a,sizeof(a),0),For i:=1 to 10 doBeginA[i]:=i+1;Write(a[i],’’);End;End.(1)运行结果为:(2)若把write(a[i]);语名改为write(a[i]:0:0,’ ‘);后呢?2.program sample7d1(input,output);const n=3;typeno=array[1..n] of integer;s=array[1..n]of real;vari:integer;k:real;num:no;score:s;begink:=0;for i:=1 to n dobeginreadln(num[i],score[i]);k:=k+score[i];end;k:=k/n;for i:=1 to n dobeginwrite(num[i],score[i]);if (score[i]-k)>=10 then writeln('A')else if((score[i]-k)<10)and((score[i]-k)>0) then writeln('B')else writeln('C');end;end.输入数据为:180290365运行结果为:。

相关文档
最新文档