广东省汕头市金山中学高中信息技术 pascal教程07 第七课 一维数组教案
一维数组应用 c语言 精品教案

一维数组应用 c语言精品教案下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!一维数组应用 C语言精品教案一维数组是 C语言中非常重要且常用的数据结构。
-一维数组的定义与引用教案

{ a[i]=i+1;
printf(“%4d”,a[i]);}
printf(“\n”);
for(i=0;i<5;i++)
printf(“%4d”,b[i]);
printf(“\n”);
}
在引用时应注意以下几点:
⑴引用时只能例7-1】中的a或b。
⑷整型常量表达式可以是整型常量或符号常量。最常见的是整型常量。不允许为变量。
⑸C编译程序(如Turbo C)为a数组在内存中分配了10个连续的数组单元(共占20个字节),为b数组在内存中分配了5个连续的数组单元(共占10个字节),如图7-1所示。
a[0]
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
课题序号
1
授课日期
第周月日(星期)
授课班级
10单招、10计算机
授课课时
2
授课形式
理论
授课章节
名称
一维数组的定义与引用
使用教具
无
教学目的
1、了解数组的基本概念。
2、掌握一维数组定义、引用;
4、提高学生编写程序的能力
教学重点
掌握一维数组定义、引用;
教学难点
掌握一维数组定义、引用;
更新、补
充、删节
内容
无
课外作业
⑵a数组含有10个数组元素,即a[0]、a[1]、a[2]、…、a[9];b数组含有5个数组元素,即b[0]、b[1]、b[2]、b[3]和b[4]。注意,不能使用a[10]和b[5],否则即出现数组超界现象。
⑶类型说明符int说明a数组和b数组中的每个元素均占2个字节,只能存放整型数据。类型说明符可以是任何基本类型,如float、double、char等;也可以是以后要介绍的其它数据类型,如结构型、共用型等。
一维数组教案

“一维数组”教学方案【课题】一维数组【学时】50分钟【授课学生分析】教学对象为大学本科学生,通过前面程序的基本结构(顺序结构、选择结构、循环结构)的学习,学生已具备一定的编程能力,为学习数组的应用打下了基础。
【教学目标】1、知识目标理解数组的概念,掌握对数组的定义、初始化、引用的应用。
2、能力目标通过对数组定义、引用的掌握,引导学生利用数组解决同类型的多变量的问题,培养和提高学生逻辑思维能力,提高动手编程能力。
3、情感目标利用上机分组操作,培养学生的协作精神。
激发学生学习兴趣,使学生积极参与体验成功的快乐。
【重点难点】重点:一维数组的定义、一维数组的初始化、一维数组的引用难点:一维数组的引用、一维数组的应用【教学方法】1、采用案例、情境、启发式教学法。
2、以例子讲解→练习→引发学生思考为流程;循序渐进的教学策略。
3、运用“提出问题→学生尝试→演示与交流→解决问题”的课堂教学模式。
【教学策略】基本知识采用的基本模式:提出问题→学生尝试→演示与交流→解决问题。
然后是能力拓展,学生分组从其它工作表中挑选内容完成挑战,适用于分层进行教学,最后展示与交流,使学生享有成就感,充分发挥学生的应用知识的能力。
以学生为主、教师引导并给予鼓励,充分发挥学生的主体性及积极性。
【教学过程】【教学后记】专业班的学生基础较好,旧知识点没有过多的强调。
在整个教学过程中,紧紧围绕提出问题——分析问题——解决问题三个环节,充分体现了学生的主体地位、以及对学生各种能力的培养。
对于本次课的重点、难点,我通过启发引导、提出问题、巩固练习等形式,充分调动学生的学习积极性,使他们参与到教学的整个过程,让学生在积极思考,积极探索中掌握新知识、消化本节课的重点、难点。
广东省汕头市金山中学高中信息技术奥林匹克信息学系列教程(基础篇)pascal教程08

多维数组§8.1 二维数组类型定义的一般形式为:TYPE <类型标识符> = ARRAY [下标类型1,下标类型2] OF <基类型>;数组说明:VAR <数组名> :<数组类型标识符>;也可以直接在说明部分说明数组的类型,如:VAR <数组名> :ARRAY [下标类型1,下标类型2] OF <基类型>;例如:var a : array [1..3 , 0..4] of integer;a 数组是一个二维数组,有两个下标,一维下标的值从1到3,二维下标从0到4,数组元素的类型为integer 。
它共有15个元素,可以看成3×5的矩阵。
§8.2 多维数组如果下标个数有n 个,则称为n 维数组。
类型定义的一般形式为:TYPE <类型标识符> = ARRAY [下标类型1,……,下标类型n] OF <基类型>; 数组说明:VAR <数组名> :<数组类型标识符>;也可以直接在说明部分说明数组的类型,如:VAR <数组名> :ARRAY [下标类型1,……,下标类型n] OF <基类型>; 例如:金山中学全体在校生的期末成绩可以用以下的多维数组来表示S : array [1..3 , 1..12 , 1..70 , 1..10] of integer;其中第一维下标1..3表示3个年级,第二维下标1..12表示每年级12个班,第三维1..70表示各班同学的学号,第四维表示该同学各门课程的成绩。
【例3】求两矩阵的乘积设矩阵A 和B 的形式如下:计算矩阵A 和B 的乘积矩阵C :根据矩阵相乘公式:(详见《数学基础》矩阵)∑==s j i ijb a C 1λλλ a[1,0] a[1,1] a[1,2] a[1,3] a[1,4] a[2,0] a[2,1] a[2,2] a[2,3] a[2,4] a[3,0] a[3,1] a[3,2] a[3,3] a[3,4]c 11 c 12 …… c 1m c 21 c 22 …… c 2m┇┇ ┇c n1 c n2 …… c n mC = a 11 a 12 …… a 1sa 21 a 22 …… a 2s ┇┇ ┇ a n 1 a n 2 …… a n s A =b 11 b 12 …… b 1m b 21 b 22 …… b 2m ┇┇ ┇b s 1 b s 2 …… b s m B = i=1,2,…,n j=1,2,…,m参考程序:【例4】求奇数幻方幻方是指n2个自然数排成n行n列的n阶方阵,且每行、每列和两条对角线上n个数之和都等于同一个数S。
C程序设计 一维数组(讲义)

23.一维数组数组用于解决大批量数据的处理,本节课要求学生掌握一维数组的定义和应用,通过这些知识的学习,掌握成批数据的处理的一般方法,进一步提高应用程序编写的基本能力。
一、数组的概念在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。
这些按序排列的同类数据元素的集合称为数组。
在C语言中,数组属于构造数据类型。
一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。
因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
二、一维数组的定义在C语言中使用数组必须先进行类型说明。
数组说明的一般形式为:类型说明符数组名[常量表达式],……;其中,类型说明符是任一种基本数据类型或构造数据类型。
数组名是用户定义的数组标识符。
方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
例如:int a[10]; 说明整型数组a,有10个元素。
float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。
char ch[20]; 说明字符数组ch,有20个元素。
对于数组类型说明应注意以下几点:1.数组的类型实际上是指数组元素的取值类型。
对于同一个数组,其所有元素的数据类型都是相同的。
2.数组名的书写规则应符合标识符的书写规定。
3.数组名不能与其它变量名相同,例如因整形变量与数组变量同名,是错误的。
4.方括号中常量表达式表示数组元素的个数,如a[5]表示数组a 有5个元素。
但是其下标从0开始计算。
因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。
5.不能在方括号中用变量来表示元素的个数, 但是可以是符号常量或常量表达式。
例如:是合法的。
但是下述说明方式是错误的。
6.允许在同一个类型说明中,说明多个数组和多个变量。
例如: int a,b,c,d,k1[10],k2[20];三、一维数组的存储1、从逻辑角度看,一维数组可以认为是一个一行多列的表格。
广东省汕头市金山中学高中信息技术奥林匹克信息学竞赛

数组【引例】输入20个数,将它们按从大到小的次序排序后输出。
讨论:如果按我们前面学的知识,我们应设20个变量来存储这20个数,如果要排序的数不是20个,而是100个,那我们就应设100个变量?没这么笨吧,我们有更好的办法解决。
§5.1 一维数组数组是由固定数量....的相同类型....的元素按一定顺序排列而成。
只有一个下标类型的数组称为一维数组。
1.数组类型定义和说明类型定义的一般形式为:TYPE <类型标识符> = ARRAY [下标类型] OF <基类型>;数组说明:VAR <数组名> :<数组类型标识符>;数组名是由用户定义的标识符,下标类型可以是子界类型或枚举类型,下标规定了数组元素的个数和排列次序。
基类型表示数组中每个元素的类型,它可以是任何数据类型,但同一数组中的元素类型必须相同。
如:typeA = array [1..20] of integer;B = array [0..50] of char;Varx , y : A;a : B;其中x 、y 被说明为A 类型数据,即均为拥有20个元素的数组,下标从1到20,元素类型为整型;a 被说明为B 类型数据,即拥有51个元素的数组,下标从0到50,元素类型为字符型。
★ 数组也可以直接在说明部分说明数组的类型,如:var x , y : array [1..20] of integer;a : array [0..50] of char;数组中的每个元素都是变量,每个元素在数组中有固定的位置,可以用数组名及方括号括起的下标..来表示。
如a 数组中的第5个元素可表示为:a [4]数组元素的运算和变量相同,如:readln (a[4]); x[3]:=x[3]+y[1];2.数组元素的赋值和引用如为一个数组A[1..10] 赋值,可用下列语句实现:for i:=1 to 10 do read (A[i]);如果两个数组类型相同,如数组x 和y ,可用赋值语句: x:=y ;把y 的10个元素值赋给x 的相应元素,它等效于: for i:=1 to 20 do x[i]:=y[i]; 但要给数组元素赋同一个值,不能这样赋值:x:=0;0 1 2 3 4 5 6 7 …… 50 a 下标而应该用如下语句:for i:=1 to 20 do x[i]:=0;【例1】求100以内的所有素数。
广东省汕头市金山中学高中信息技术 pascal教程01 第一课 让程序“跑”起来教案
第一课让程序“跑”起来计算机可以帮我们做很多事,这是如何做到的呢?我们设计出了与计算机对话的语言,然后把要让计算机做的事情,用计算机语言描述,一步一步的写出来,这叫计算机程序,让计算机去执行程序,完成我们交给的任务。
计算机语言有很多种,QBasic、Pascal、C……,这些语言大同小异,只要熟练掌握其中一种,以后学习其它语言就很容易了。
下面介绍的是PASCAL语言,它以语法严谨,结构化形式,高效,查错能力强等特点,被誉为最适合入门教学的计算机语言。
§1.1 Pascal语言Pascal语言是由瑞士的沃斯(N. Wirth)教授于1971年提出来的,它的命名是为了纪念法国数学家Pascal。
Pascal语言的主要特点是结构化好,是世界上第一个结构化程序设计语言,它充分体现了算法设计中自顶向下、逐步细化、模块化的思想。
Pascal语言的编辑环境和编译程序合称为Pascal编译软件,集编辑、编译、调试、运行于一体,又称Pascal集成环境,目前有Turbo Pascal、Borland Pascal、Free Pascal 等几种,其之间只有细微的差别。
§1.2 Pascal 的编程环境大家双击桌面上Pascal的图标,进入Pascal编程窗口:这个蓝色的窗口就如广阔的海洋,大家将在这里扬帆……小技巧:按 Alt+Enter 键可以切换成全屏模式,再按一次,又变回窗口模式。
接下来,我们来认识一下这个编程窗口:★菜单栏、编辑栏之间的跳转:F10程序运行:Ctrl+F9浏览程序运行结果:Alt+F5编辑窗口跳转:Alt+数字§1.3 我们的第一个程序1、请把下面这段代码输入:program first;beginwriteln (' /======\ ');writeln (' | o o | ');writeln ('++++++++++++');end.2、按F2,把程序保存在D盘根目录下,文件名:“first.pas”。
一维数组教学设计新部编版方案
[20 – 20学年度第__学期]
任教学科:_____________
任教年级:_____________
任教老师:_____________
xx市实验学校
教学设计方案
案例名称
C程序设计——利用数组处理批量数据
科目
C程序设计
教学对象
大学一年级
提供者
11信管师***
课时
一课时90分钟
一、教材的地位与作用
九、课后练习
一、写程序,从键盘输入10个整数给一维数组a,求这十个元素之积,并输出这十个元素的值 。
二、编写程序,将一个一维数组中的元素逆转。逆转是指将程序中的第一个元素与最后一个元素进行交换,第二个元素与倒数第二个元素进行交换,以此类推,直到数组的中间一个元素为止。
老师提出问题,讲解解题思路。让学生自己思考写出程序。然后评价。
学生根据老师讲解的思路,进行思考。结合刚刚学数组定义等的知识,写出程序。
让学生自己思考写出程序,这个程序包括数组的定义,引用初始化等,让学生能够更好的掌握这些知识。老师的评价让学生知道要怎样去定义引用等。没有自己去写,只是单纯的听老师讲是很难掌握新知识的。
带着兴趣听老师讲解新知识,在老师的提问中思考出自己答案,自主思考。
通过教师的讲解数组的定义引用,初始化。积极的让学生参与互动,能讲解枯燥新知识让学生更容易参与课堂,自我思考知识,对知识的理解深刻。也让学生的注意力更集中,专心课堂。
课堂程序举例(35分钟)
老师提出题目,讲解程序的思路,让两名学生上黑板其他同学在下面写出自己的程序,然后老师进行评价,给出正确的答案。
二、教学目标
1.知识与技能:理解一维数组的定义与引用
2.过程与方法:通过让学生自己思考程序的思路,提高学生思维能力。
一维数组教学设计
将理论与实际相结合,多进行实验课,可以边进行实验边进行理论的讲解。
【知识性目标】
1、了解一维数组在内存中的存储思想
2、掌握一维数组定义、初始化和引用方法
【技能性目标】
1、能够正确使用编译器进行相关的调试
2、能够正确定义一维数组、初始化一维数组和引用一维数组
3、能够运用一维数组进行简单程序设计
2,整型的数组b,长度为10,依次赋值0-9。
答案一:
float a[20]={2.0,21.5,15.3}
答案二:
int b[10];
for (i=0; i<=9;i++)
a[i]=i;
结合这个例题加深对两种赋值方式的理解,它们各自适用于哪种情况?
【巩固训练】
1、C语言编程实现长度为5,类型为float的一维数组的定义、初始化和数组元素的引用。
2,编写一个程序实现从键盘输入全班35名同学C语言成绩,然后将35个成绩存储并打印出来。
【总结强化】
本节课学习了:
1,数组的概念和特点
2,一维数组的定义
3,一维数组的存储
4,一维数组的引用
5,一维数组的初始化
重点:一维数组定义、引用与初始化的一般形式
【作业拓展】
1、每个学生课后在实际生活中找出3个用到数组知识来进行数据存储的例子,并说明为什么用数组
二、在程序中初始化
主要使用循环语句进行逐一赋值
例如:int i,score[50];
for (i=0;i<50;i++)
score [i]=0;
这种方法是在编程中普遍使用的一种方法,它适用于对某数组元素进行有规律的赋值或接受用户通过键盘输入对数组元素的赋值。
广东省汕头市金山中学高中信息技术奥林匹克信息学系列教程(基础篇)pascal教程09
字符串§9.1 字符串类型,其一般形式:TYPE <标识符>=STRING[N];N必须是小于256整数,表示字符串最大长度,N缺省值为255。
例如:var name1 : string[20]; {字符串name1最大长度为20}ss : string; {字符串ss最大长度为255}◆字符串实际长度取决于程序执行时所赋予实际字符个数,可以用函数Length(字符串名)取得,如:t=length(ss); {t为整型变量,利用length函数取得字符串ss实际长度}◆字符串类型变量可以整体输入与输出,如:read(ss); write(ss);◆字符串可以进展连接,连接符为“+〞,如:‘good’ + ‘morning’ = ‘good morning’◆字符串中每一个字符可以对应字符数组中一个元素,可以用字符串名加下标〔类似数组〕方法来表示,如:ss:= ‘computrr’;ss[7]:= ‘e’;writeln(ss); {将输出‘computer’}字符串与字符数组区别在于字符串最大长度只有255,而数组元素个数可以超过255。
◆字符串可以进展六种关系运算:=、<>、>=、<=、>、< 。
当两个字符串进展比拟时,是从左到右逐个字符按照它们ASCII码值进展比拟。
例如:‘a’ < ‘b’为true‘ABCD’ < ‘ABC’为false◆Pascal提供了不少函数与过程用于字符串操作,如:copy〔S :string;i , L :integer〕:string;返回字符串S中从第i个字符开场L个字符所组成字符串concat〔S1,S2,……,Sn:string〕:string;合并一系列字符串Pos〔P , S :string〕:byte;返回子字符串P在字符串S中位置delete〔S :string;I,L:ineger〕;从字符串S中删除从第I 个字符开场L个字符Insert〔S :string;D :string;P :integer〕;在字符串DP位置插入字符串Sstr〔I :integer / real;S :string〕;整数/ 实数转字符串val〔S :srting;R :real;D :integer〕;字符串转整数/ 实数【例】编写一个学生成绩统计程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七课 一维数组
【引例】输入20个数,将它们按从大到小的次序排序后输出。
讨论:如果按我们前面学的知识,我们应设20个变量来存储这20个数,如果要排序的数不是20个,而是100个,那我们就应设100个变量?没这么笨吧,我们有更好的办法解决。
数组:由固定数量....的相同类型....
的元素按一定顺序排列而成。
只有一个下标类型的数组称为一维数组。
§7.1 数组类型定义和说明
类型定义的一般形式为:
TYPE <类型标识符> = ARRAY [下标类型] OF <基类型>;
数组说明:
VAR <数组名> :<数组类型标识符>;
数组名是由用户定义的标识符,下标类型一般是子界类型,下标规定了数组元素的个数和排列次序。
基类型表示数组中每个元素的类型,它可以是任何数据类型,但同一数组中的元素类型必须相同。
如:
type
A = array [1..20] of integer;
B = array [0..50] of char;
Var
x , y : A;
a : B;
其中x 、y 被说明为A 类型数据,即均为拥有20个元素的数组,下标从1到20,元素类型为整型;a 被说明为B 类型数据,即拥有51个元素的数组,下标从0到50,元素类型为字符型。
★ 数组也可以直接在说明部分说明数组的类型,如:
var x , y : array [1..20] of integer;
a : array [0..50] of char;
数组中的每个元素都是变量,每个元素在数组中有固定的位置,可以用数组名及方括号括起的下标..来表示。
如a 数组中的第5个元素可表示为:a [4] 数组元素的运算和变量相同,如:
readln (a[4]); x[3]:=x[3]+y[1];
§7.2 数组元素的赋值和引用 0 1 2 3 4 5 6 7 …… 50 a 下标
如为一个数组A[1..10] 赋值,可用下列语句实现:
for i:=1 to 10 do read (A[i]);
如果两个数组类型相同,如数组x 和y ,可用赋值语句: x:=y ;
把y 的10个元素值赋给x 的相应元素,它等效于: for i:=1 to 20 do x[i]:=y[i]; 但要给数组元素赋同一个值,不能这样赋值:
x:=0; 而应该用如下语句:
for i:=1 to 20 do x[i]:=0;
【例1】求100以内的所有素数。
筛法: 主要用于求一个区间上的质数表
• 去掉1
• 从2开始,把凡是2的倍数的数去掉(2保留)
• 从下一个未被去掉的数k 开始,把凡是k 的倍数的数去掉(k 保留)
• 依此类推,直至100
筛选过程:
(a) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 …… 98 99 100 (b) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 …… 98 99 100 (c) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 …… 98 99 100 …… ……
算法分析:
(1)设布尔类型数组A[2..100]
以下标2~100代表整数2~100;数组元素的布尔值代表其是否为素数;
设A[i]=true 则i 为素数,A[i]=false 则i 为合数;
A 中元素初始均赋为true ;
(2)从数组中新找一个素数P ;
(3)从P+1开始,把凡是P 的倍数的数筛去(赋为false );
(4)重复步骤2、3,直到P>100
(5)打印数组中未被筛去的元素(元素值为true );
参考程序: 2 3 4 5 6 7 8 9 ...... 100 2 3 4 5 6 7 8 9 (100)
删去P
的倍数
【例2】输入n个数,将它们按从小到大排序后输出。
请先思考自己的算法,再看以下内容!
[方法一] 选择排序
基本思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
排序过程:在数组元素[1..n]中找出最小数,将数组第1位上的数与最小数交换;
在剩下的数中[2..n]中找出最小数,与第2位上的数交换;
依次类推,直到全部的数排完。
技巧:寻找最小数——借助哨兵变量x,存放的不是最小数的值,而是最小数的位置
(下标),扫描一趟后,最小数即S[x]。
交换数组元素S[i]和最小数——即交换S[i]和S[x]
例如:初始状态 [49 38 65 97 76 13 27 49]
第一趟排序后 13 [38 65 97 76 49 27 49]
第二趟排序后 13 27 [65 97 76 49 38 49]
第三趟排序后 13 27 38 [97 76 49 65 49]
第四趟排序后 13 27 38 49 [49 97 65 76]
第五趟排序后 13 27 38 49 49 [97 97 76]
第六趟排序后 13 27 38 49 49 76 [76 97]
第七趟排序后 13 27 38 49 49 76 76 [97]
最后排序结果 13 27 38 49 49 76 76 97
[方法二] 冒泡排序
基本思想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。
算法设计:设想被排序的数组R[1..n]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本
原则的轻气泡,就使其向上"漂浮",如此反复进行,直至最后任何两个气泡都
是轻者在上,重者在下为止。
排序过程:首先,从底部R[n]和R[n-1]开始比较,小数上浮(R[n-1]),大数下沉(R[n]);
然后比较R[n-1]和R[n-2],小数上浮……直到比较R[2]和R[1],小数上浮,
此时第一趟结束,R[1]中的数必是最小数。
第二趟仍从底部R[n]和R[n-1]开始比较,直到比较R[3]和R[2],小数上浮,
结束时R[2]中的数为次小数(本趟中的最小数);
重复以上过程,直到将所有数排完。
例如: 49 13 13 13 13 13 13 13 (R[1])
38 49 27 27 27 27 27 27 (R[2])
65 38 49 38 38 38 38 38 (R[3])
97 65 38 49 49 49 49 49 (R[4])
76 97 65 49 49 49 49 49 (R[5])
13 76 97 65 65 65 65 65 (R[6])
27 27 76 97 76 76 76 76 (R[7])
49 49 49 76 97 97 97 97 (R[8])
参考程序:
课后练习七:
编程完成以下各题:
1.随机产生50个数,求其中最大数和最小数。
2.输入n个整数(n不大于1000),将这n个整数按从大到小排序,然后输出排序结果。
采用选择排序算法。
3.采用冒泡排序算法完成上题。
4.有一组数,其排列形式如下:11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8,且尾部的8和头部的11首尾相连,构成环形的一组数,编程找出相邻的4个数,其相加和最大,输出这4个数。
5.给一维数组输入任意6个数,然后每次将末尾的数放到最前,直至原队头的数至队末,形成方阵。
例如:输入 7 4 8 9 1 5
输出 7 4 8 9 1 5
5 7 4 8 9 1
1 5 7 4 8 9
9 1 5 7 4 8
8 9 1 5 7 4
4 8 9 1
5 7
6. 山顶有10个洞,兔子对要捉它的狐狸说:“把洞从1~10编上号,你从10号洞出发,先
到1号找我,第二次隔1个洞找我,第三次隔2个洞找我,以后依此类推,次数不限,若能找到我,你就可以饱吃一顿,但没有找到我以前不能停下来。
”狐狸答应就开始找了,它进了1000次洞也没找到兔子。
请问,兔子躲在几号洞里?
7. 输入2个高精度整数a 、b,和一个运算符号‘+’或‘-’,编程进行加或减运算,并输
出结果。