学习C(十)
① 二维数组的遍历方式
② 二维数组的函数传参
③ 冒泡排序
④ 快速排序的思路以及实现方式
⑤ 系统的快速排序的使用方式
二维数组
在一个数组内存放了另一个数组的数组,称为二维数组
二维数组的声明及定义:
数组类型+数组名[二维数组容量][一维数组容量] =
{
{具体的一维数组},
{具体的一维数组}
}
二维数组的初始化
#include<stdio.h>
int main(){
//二维数组的初始化
int arr[5][3] = {
{
1 ,2 ,3 },
{
4 ,5 ,6 },
{
7 ,8 ,9 },
{
10,11,12},
{
13,14,15}
};
//二维数组的输出
printf("%d\n",arr[3][1]);//第4行第2列
printf("%d\n",arr[0][10]);//第11个数据,说明二维数组是连续的
return 0;
}
11
11
逗号运算符在二维数组中的使用
#include<stdio.h>
int main(){
//只初始化了前5个,后面的默认赋值0
int arr2[5][3] = {
(1 ,2 ,3 ),//3
(4 ,5 ,6 ),//6
(7 ,8 ,9 ),//9
(10,11,12),//12
(13,14,15)//15
};
printf("%d\n",arr2[1][0]);//第2行第1列,值为12
printf("%d\n",arr2[2][1]);//第3行第2列没有初始化,值为0
// 逗号运算符,但是他一般和()连用,该运算符运算的数学表达式的值为最后一个逗号后面的值
return 0;
}
12
0
计算二维数组四周、对角线之和
#include<stdio.h>
/*
1,计算二维数组的四周之和
2,计算二维数组的对角线之和(主对角线和副对角线)
*/
int main(){
int arr[5][5] = {
{
1 , },
{
1 ,1 , },
{
1 ,8 ,1 , },
{
1 ,2 ,12,1 , },
{
1 ,1 ,1 ,1 ,1 }
};
int i = 0,j = 0;//i用来计算行,j用来计算列
int res = 0;//计算结果
for(i=0;i<5;i++){
for(j=0;j<5;j++){
//用逻辑运算符或 || 可以很好的防止重复
if(i==0 || i==4 || j==0