一维数组定义
- 定义形式:
类型名 数组名 [数组长度]; ——数组长度是一个整型常量表达式。
例如:
int a [10];char c [200];
2.引用形式:
数组名 [ 下标 ] ——C语言规定只能引用单个的数组元素。
a[0]=23
3.注意
- 数组下标从0开始,下标不能越界,下标的合理取值范围是[0,数组长度-1]。
- 数组元素的使用方法和同类型的变量完全相同。
- 定义数组时,方括号内是常量表达式,代表数组。
- 引用数组时,方括号内是表达式,代表下标,可以是变量。
一维数组初始化
形式为:
int a [10] = {1,2,3,4,5,6,7,8,9,10};
a[0]=1,a[1]=2......a[9]=10。
部分数组初始化:
int fib [20] ={ 0 , 1 }; 对数组前两个元素赋初值。
使用一维数组编程
例7-1
#include<stdio.h>
int main()
{
int i;
double average,sum;
int a[10];
printf("Enter 10: ");
sum=0;
for(i=0; i<10; i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
average=sum/10;
printf("%.2lf\n",average);
printf(">average: ");
for(i=0; i<10; i++)
{
if(a[i]>average)
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
Enter 10: 55 23 8 11 22 89 0 1 78 186
47.30
>average: 55 89 78 186
例7-2
输出斐波那契数列
#include<stdio.h>
int main()
{
int i;
int fib[10]={ 1,1 };
for(i=2; i<10; i++)
{
fib[i]=fib[i-1]+fib[i-2];
}
for(i=0; i<10; i++)
{
printf("%6d",fib[i]);
if((i+1)% 5==0)
printf("\n");
}
return 0;
}
1 1 2 3 5
8 13 21 34 55
例7-3
顺序查找法查找下标
#include<stdio.h>
int main()
{
int i,flag,x;
int a[5];
printf("Enter 5: ");
for (i=0; i<5; i++)
scanf("%d",&a[i]);
printf("Enter x: ");
scanf("%d",&x);
flag=0;
for(i=0; i<5; i++)
if(a[i]==x){
printf("Index is =%d\n",i);
flag=1;
break;
}
if(flag==0)
printf("Not Found\n");
return 0;
}
Enter 5: 5 6 7 8 9
Enter x: 9
Index is =4