数组必须先定义,然后使用。C语言规定只能逐个引用数组元素而不能一次引用整个数组。
一维数组元素的引用格式
数组名[下标]
下标可以是整型常量、变量和表达式。
例如:int a [ 10 ],m=3,n=2;
下标可以是整型常量、变量和表达式。
注意:
定义数组时用到的“数组名[常量表达式]”和引用数组元素时用到的“数组名[下标]”是有区别的。
一维数组的初始化就是在定义数组的同时对数组元素赋以初值。
对数组元素初始化的实现方法:
1、 在定义数组时对数组元素赋以初值。
例如:int a[10]={0,1,2,3,4,5,6,7,8,9};
将数组元素的初值依次放在一对花括弧内。经过上面的定义和初始化之后,a[0]=0,a[1]=1,a[2]=2, a[3]=3,a[4]=4, a[5]=5,a[6]=6,a[7]=7,a[8]=8,a[9]=9。
2. 可以只给一部分数组元素赋值。
例如: int a[10]={0,1,2,3,4};
定义a数组有10个元素,但花括弧内只提供5个初值,这表示 只给前面5个元素赋初值,后5个元素值为0。
3. 如果想使一个数组中全部元素值为0,可以写成:int a[10]={0,0,0,0,0,0,0,0,0,0};或int a[10]={0};
4. 在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。
例如:int a[5]={1,2,3,4,5};
也可以写成 int a[]={1,2,3,4,5};
注意:int a[ ]; 是绝对不允许的
例3:用起泡法对数组中10个数进行由小到大排序对数组中6个数进行起泡法排序的思路是:
个数经过第一趟(共5次比较与交换)后,最大的数9已“沉底” 。然后进行对余下的前面5个数第二趟比较;
用起泡法对数组中10个数进行由小到大排序程序1:
#include <stdio.h>
void main()
{int a[10];
int i,j,t;
printf("input 10 numbers :\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<10;j++)
for(i=0;i<=10-j-1;i++)
if (a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the sorted numbers :\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。