数组:
1.定义数组:
#include <stdio.h>
int main()
{
//这个只表示有十个元素,并不代表有array[10],因为它的下标是从0开始的
int array[10];//定义了一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型
//array[10]这样写语法不会出错,因为C语言不会帮你判断这个下标是否是合法的,但你写上去就会报相应的错误
}
2.数组在内存的储存方式
数组在内存中就是一段连续的空间,而且每个元素的类型都是一样的
3.数组的初始化:
int array[10] = {0,1,2,3,4,5,6,7,8,9};//定义数组的同时为数组的成员初始化值
e.g.
#include <stdio.h>
#pragma warning(disable:4996)
int main()
{
//int array[10] = {0,1,2,3,4,5,6,7,8,9};//定义数组的同时为数组的成员初始化值
//int array[10] = {3,7,9};//将数组的前三个数赋值,其余元素置为零
//int array[10] = {0};//将所有的数都赋值为0;
int array[10];
int i;
for(i=0;i<10;i++)
{
scanf("%d",&array[i]);
}
for(i=0;i<10;i++)
{
printf("array[%d]=%d\n",i,array[i
]);
}
return 0;
}
求数组的最大值:
#include <stdio.h>
#pragma warning(disable:4996)
int main()//求数组中最大的值
{
int array[10]={32,45,643,12,56,2,78,22,69,10};
int max =0;
int i;
for(i=0;i<=9;i++)//想要找最大的值,一定要把数组先遍历一遍
{
if(max<array[i])
{
max = array[i];
}
}
printf("MAX=%d\n",max);
return 0;
}
逆置数组
1.从头往中间换
#include <stdio.h>
int main()
{
int array[10]={32,45,643,12,56,2,78,22,69,10};
int i;
int m;
for(i=0;i<=4;i++)
{
m = array[i];
array[i]=array[9-i];
array[9-i]=m;
}
for(i=0;i<=9;i++)
{
printf("array[%d]=%d\n",i,array[i]);
}
return 0;
}
2.从两头向中间读
#include <stdio.h>
int main()//逆置数组:头两头向中间读
{
int array[10]={32,45,643,12,56,2,78,22,69,10};
int min=0;
int max=9;
int mmm;
int i;
while(min<max)
{
mmm=array[min];
array[min]=array[max];
array[max]=mmm;
min++;
max--;
}
for(i=0;i<=9;i++)
{
printf("array[%d]=%d\n",i,array[i]);
}
return 0;
}