二维函数
1.声明一个二维函数
int arr[2][4];
2.初始化二维函数
2.1直接开始时赋予值
int arr[2][4]={
{1,2,3,4},{11,22,33,44}};
且中间可为0,中间两个大括号表示两行,每个里不足四个的系统自动补0;
int arr[2][4]={
{1,2},{11,22,33}};
直接一个括号赋予(不推荐),中间要是缺少的话就会接着,不会出现中间补0。
int arr[2][4]={1,2,3,4,11,22,33,44};
2.2利用循环赋予初始值
#include <stdio.h>
int main()
{
int t[2][4];
int i,j;
for(i=0;i<2;i++)
for(j=0;j<4;j++)
scanf("%d",&arr[i][j]);
return 0;
}
3.打印二维数组
for(i=0;i<2;i++){
for(j=0;j<4;j++){
printf("arr[%d][%d]=%d ",i,j,arr[i][j]);
}
printf("\n");
4.更改数组中某列的元素的数值
int t[2][5]={
{1,2,3,4,5},{6,7,8,9,10}};
int i,j;
printf("更新第三列元素值为0\n请输入两个0,中间空格隔开\n");
scanf("%d %d",&t[0][3],&t[1][3]);
for(i=0;i<2;i++)
for(j=0;j<5;j++)
printf("t[%d][%d]=%d\n",i,j,t[i][j]);
5.将二维函数的行列调换
int t[2][5]={
{1,2,3,4,5},{6,7,8,9,10}};
int r[5][2]={0};
int i,j;
for(i=0;i<2;i++)
for(j=0;j<5;j++)
r[j][i]=t[i][j];
for(i=0;i<5;i++)
for(j=0;j<2;j++)
printf("r[%d][%d]=%d\n",i,j,r[i][j]);
6.课堂练习
6.1求这个二维数组中的最大值
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int arr[3][4];
int i,j,max=0;
int h,l;
srand((unsigned)time(NULL));
for(i=0;i<3