C语言程序设计 数组一(一维数组相关).pptxVIP

C语言程序设计 数组一(一维数组相关).pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第九讲数组之一

一维数组的定义及排序算法

主要内容:

一、数组和数组元素

二、一维数组的定义和使用

三、一维数组的排序算法

●理解数组与数组元素概念,掌握一维数组的定义与引用

●掌握常用排序算法

重点

难点

教学目的:

一、数组和数组元素

●已经学习的C语言基本数据类型:整型(short

●数组:又称下标变量,是一组同类型的变量的有序的

一、数组和数组元素

一维数组的定义与引用

数组名的命名

规则同简单变

量的命名规则的定义必须是方括号!

类型说明数组名[常量表达式];

●可以是任何一种基本数据类型或构造类型。

●指定数组中所有元素的共同数据类型。

●指定数组元素的个数,又称数组长度。

●可以是直接常量或符号常量。

空格

一维数组定义和使用

例如:inta[10];/*定义10个整型变量*1

a[0]ai1]a|2]a3]a|4]a5a6]a7]a8]a9]

charc[12];/*定义12个字符变量*/

c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]c[10]c[11]

一维数组的引用

教组必须先定义后使用,而且只能引用数组元素,而不是

例1、定义一个名称为a并含有10个元素的整型数组,依次把1,2,3,….,10这

3、一维数组的初始化

对数组元素的初始化可以用下面4种方法:

1.

#includestdio.h

main()

{

inta[]={23,56,83,52,100,88,78,25,34},max,i;max=a[0];/*擂台初值

三、常用排序算法

在程序设计中,排序的算法主

1、冒泡法排序(以从小到大举例)

冒泡法的基本思想:通过相邻两个

数之间的比较和交换,使数值较小的逐

以6个数为例的算法示意图:

第一趟比较6-1次

8

5

5

5

5

5

18

4

4

4

L4

4

8

2

2

2

2

2

=8,

0

0

0

GI

0!

→8

第1次

第2次

第3次

第4次

结果

4

4

4

15

2

2

2

2

15

0

0

L--0

5

第1次

第2次

第3次

结果

第三趟比较

6-3次

第二趟比较

6-2次

算法结论:6个数需要比较5趟才可以完成

第四趟比较

6-4次

第五趟比较6-5次

输入10个数给a[0]~

a[9]

i由0到8共执行9次循环

进行Qj]海比较

a[j]和

a[j+1]

交换

输出a[0]~a[9]

J

for(i=0;iN;i++)

scanf(%d,a[i]);printf(\n);

for(i=0;iN-1;i++)

for(j=0;jN-1-i;j++)

if(a[j]a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

printf(thesortednumber:\n);for(i=0;iN;i++)

printf(%5d,a[i]);

#includestdio.h

#defineN10

main()

J

inta[N],i,j,t;

printf(inputtennumber:\n);

根据算法结论画出流程图如下:设n=10

选择排序法的基本思想:(假设n=6)(1

k

第1轮:13

第2轮:97

第3轮:97

第4轮:97

第5轮:97

结果:97

k

97

13

13

13

49

49

k

49

k

49

76

76

76

76

65

J

65

65

38

38

13

38

38

38

65

65

65

76

k

76

49

49

13

38

以6个数为例的算法示意图:

个J

一维数组考点

1、一维整型数组实现倒序。

2、统计一维数组中满足条件的元素个数。

3、随机给一维数组赋值,然后进行排序,输出最大几个元素的平均值或者最小几个元素的平均值。

4、在已排序的数组中插入一个数据,保证数组的有序性。

补充内容随机函数rand()的使用方法

在程序中如果直接调用rand函数,第一次运行获

得的是随机数,以后在运行该组数不会发生变化,这是因为计算机是严格按照某种规则执行,不可能灵活变化。那么要利用计算机产生真正随机数,就必须和srand一起用。

srand用法:srand(time(O)

如果想要产生一个范围内的随机数,比如10—99

之间的正整数赋给变量a,就应该是

a=rand()%(99-10+1)+10。

随机函数用法举例:

#includestdio.h

#

文档评论(0)

yangzhuangju + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档