一、一维数组
可以用多种方式创建数组,例如
int arr[10]={1,2,3}; //10代表元素个数,剩下的元素为0
char arr2[5]={'a','b'}; //存放了2个元素
char arr3[10]="abcdef"; //存放了7个元素,最后一个为\0
sizeof()是计算数组所占空间大小,包括\0,单位 字节
strlen()是计算字符串(唯一)长度,不包括\0,若无\0,则返回随机值。需引用<string.h>
二、二维数组
int arr[3][4]= {1,2,3,4,5}; //三行四列,第一行为1234,第二行为5000,第三,四行均为0
int arr[3][4]={{1,2,3},{4,5}}; //第一行为1230,第二行为4500,第三,四行均为0
在创建数组中,只能省略行,不能省略列,例如
int arr[][4]={{1,2,3,4},{5,6,7,8}};
利用冒泡排序方法,使一数组升序排序
void bubble_sort(int arr[],int sz)
{
int i = 0;
for (i = 0; i < sz - 1 ; i++) //确定冒泡排序的趟数
{
int flag = 1;
int j = 0;
for (j = 0; j < sz - 1 - i; j++) //每一趟冒泡排序
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
flag = 0; //若这一趟无序,则改变flag
}
}
if (flag == 1) //顺序已有序
{
break;
}
}
}
int main()
{
int arr[] = {8,4,9,6,7,2,8,0};
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr,sz); //升序函数
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
return 0;
}