【C语言】 数组学习笔记
1、 数组
a) 数组的定义:
类型名 数组名[元素的个数] //元素的个数必须为常量;
例如 float arr1[5];
数组元素的类型是float
数组的类型是 float [5] 叫做长度为5的浮点型数组
b) 数组的初始化
只有在第一次定义的时候才能用{}一次性给元素初始化
全部初始化 例如 int arr[5]={1,2,3,2,1}
全部初始化的时候可以省略掉 长度 例如 int arr[] ={5,4,3,5,7}
部分初始化 例如 int arr[5]={1,5} 其它的默认为0
利用部分初始化的特点 可以用来清空数组 intarr[5]={0}
C) 数组的便历
IntArr[5]={0}
for(intI = 0;i<5;i++){
printf(“%d”,arr[i]);
}
也可以用宏定义一个SIZE
#define SIZE sizeof(arr)/sizeof(arr[0])
For(int i=0;i<SIZE;i++){
Printf(“%d”,arr[i]);
}
数组的输入
For(inti=0;i<SIZE;i++){
scanf(“%d”,&arr[i]);
}
2、
求数组的最大值
1、 冒泡排序法
i. 1 2 3 4 5
第一轮 arr[0] 和arr[1]进行比较
If(arr[0]<arr[1]) 交换位置
2 1 3 4 5
If(arr[1]<arr[2]]) 继续交换
2 3 1 4 5
If(arr[2]<arr[3]]) 继续交换
2 3 4 1 5
If(arr[3]<arr[4]) 继续交换
2 3 4 5 1
第二轮
If(Arr[0]<arr[1]) 继续交换
3 2 4 5 1
If(Arr[1]<arr[2]) 继续交换
3 4 2 5 1
If(Arr[2]<arr[3]) 继续交换
3 4 5 2 1
第三轮
If(Arr[0]<arr[1]) 继续交换
4 3 5 2 1
If(Arr[1]<arr[2]) 继续交换
4 5 3 2 1
第四轮
If(Arr[0]<arr[1]) 继续交换
5 4 3 2 1
总结上面一共比n-1 轮 第一轮比n-1次 第二轮比n-2次 第三轮比n -3次 第四轮比n-4
2、 二维数组
a) 类型名数组名{元素的个数}
b) Float brr[3][4]
定义格式如上图;
二维数组便历方法
#include<stdio.h>
int main(void){
//定义一个四行三列的数组float类型
floatarr[4][3]= {1,2,3,4,5,6,7,8,9,10,11,12};
//将数组中的元素显示出来
arr[0];
intj = 0;
inti = 0;
for(i=0;i<4;i++){
for(j=0;j<3;j++){
printf("%.1f",arr[i][j]);
}
printf("\n");
}
printf("\n");
return0;
}