0828-数组排序(数组)c语言,前面我使用了基本数据类型(如整型(57页)-原创力文档...

本文详细介绍了C语言中数组的基本概念,包括一维数组的定义、引用、初始化及循环操作。通过示例代码展示了如何存储、读取数组元素,以及如何实现数组元素的循环右移。此外,还提到了数组在排序问题中的应用,给出了选择排序法对数组排序的实例。
摘要由CSDN通过智能技术生成

第六章数组

前面我们使用了基本数据类型(如整型、实型、字符型

数组是C语言提供的一种构造类型数据,即由基本数据类型按

定规则组成。

数组是有序数据的集合。数组中的每一个元素都属于同

个数据类型。用一个统一的数组名和下标来唯一地确定数

组中的元素

1.一维数组的定义和引用

只能包含常量和符号常量。

表示数组包含的元素个数

*一维数组的定义方式:

既数组的长度,从0开始

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

如: int char

遵循标识符

float等

定名规则

如:inta[10];

定义了一个一维数组a,它包含了10个具有整型数据类型

的元素。即a[O],a[l22],a[3],a4]a5],a6]a[7],a[8l[9

一维数组的引用:

C语言规定只能逐个引用数组元素,不能一次引用整个数

组。而且必须先定义数组,然后才能使用数组元素。

数组元素的引用形式:数组名[下标]

下标可以是表达式

例61 maino

Rint i, a[101

for(i=0;<=9;i++)a[il=i;

for(i=9;i>=0;-

printf("%od", ali];

秦一维数组的初始化:

所谓初始化就是在定义数组的同时,给数组元素赋初始值。

方法见下例:

☆inta[0={0.,1,2,3,4,56,7,8,9};

aa[]a[2]a3a[4]a5]a6a[7]a8]a9」

o int b[10J-{0,1,2,3,4};(后5个元素赋值0。)

b0b[l]b2]b|3]b4|b|5]b|6]b7]b8]b9

Cint c[10={0.0.0,0,0,0,0.0,0,0};

static int c[10]

c0c[l]c[2]c3]c4]c5]c6c7]c8]c9

d[o d[l d2 d3 d4

O int d={1,2,3,4,5};

可以不指定数组长度,系

统根据后面花括号里的数

据决定数组的长度。

豪一维数组程序举例:

例62给数组a中存入10个整数,在保证数据不丢失的情况下,

将数组中的最大数存入a0位置。

输入:10个整数

计算:求最大数

输出:a数组

main(

将数组中的最大数存入a]位置

fint ij, k, x, a[101;

for(i=0;i<=9;i++)

a[0] a[l] a[2]a[3] a[4]a[5] al6 a[[8 a[91

scanf(“%d”,&ai);

printf("n”)

for(i=1;i<=9;i++){

if(ai>alONi

t=aO; a0=ai: a i=t;

for(i=0;i<=9;i++)

t=aO

printf("%d " a[iD): printf

“n”);}

例63:请将数组a0.9中的元素循环右移k位,要求只用一个元素大小

的附加空间

maino

a[O]a[l]a2]a[3]a[4]a[5]a[6a[7a[8]a[9

lint i,j, k, x, a[10];

for(i=0;i<=9;i++)

canf(od”’,a[j);

a0]a[1a2]a3]a[4]a{5]a6]a[7]a[8la9

scanf(%d”,&k);

printf("n”);

for (i=l; i<=k; i ++)

x=a9];

aoa[1a[2]a[3]a[4]a5la6]a[7a[8]a[9

for (j=8; j>=0; j--)

a[i+1=all;

a0]=x;}

for(i=0;i<=9;i++

aa[l]a[2]a3a[4]a[5]a6]a[7]a[8]a[9」

printf(ood”,al[i]);

printf(n”);}

64输入100个字符,统计各个字母的出现的个数(不区分大小写)

# include“ stdio.h

maino

It i=l; int num[26=0J

char c

while(i<=100)

C=getchar

if(c>='A&&c<=Z) num[c-A++

else if(c>='a&&c<=z)num[c-a1++,

for(i-A; i<=Z; i++)

printf(-/oc: %/dn,, i, num[i-A]);

用数组解排序问题

问题:给定一组数(整数或者实数),如何进行从小到大或从

大到小的排序?

如:已知原始数据:[4733618272112547

最后排序结果:1125334747617282

a]a[l]a[2]a[3]a4]a[5]a6]a[7]

例6.5用选择法对若干个数排序(由小到大)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值