C语言中二维数组,c语言二维数组用法
源程序:
#包含stdio.h
//查找最大值的函数
int most(int m[3][4])//形参是一个二维数组。
{
int a=m[0][0];//认为第一个数字是最大值
int i,j;
for(I=0;i3;I) //外环控制线
{
for(j=0;j)//内部循环控制列
{
if (a m[i][j])
a=m[I][j];
}
}
返回a;
}
//查找最小值的函数
Int lowest(int m[3][4]) //形参是一个二维数组。
{
int b=m[0][0];//认为第一个数字是最大值
int i,j;
for(I=0;I)//外环控制线
{
for(j=0;j 4;J) //内部循环控制列
{
if (b m[i][j])
b=m[I][j];
}
}
返回b;
}
void main()
{
int array[3][4]={ {11,25,3,48},{25,16,77,28},{39,10,19,32 } };//二维数组
int(* point)[4];//指向二维数组的指针
点=数组;//指针指向二维数组int i,j;
//输出二维数组
Printf(二维数组:\ n );
for(I=0;i3;I) //外环控制线
{
for(j=0;j)//内部循环控制列
{
printf(=,array[I][j]);//输出二维数组
}
printf( \ n );
}
printf( \ n );//转置一个二维数组
Printf(转置二维数组:\ n );
for(I=0;I 4;我)
{
for(j=0;j j)
{
printf(=,array[j][I]);
}
printf( \ n );
}
printf( \ n );//找出第一个元素开始处对角线的总和
int duijaox=0;
for(I=0;i3;我)
{
duijaox=array[I][I];
}
Printf(对角线之和为:%d\n ,duijiaox);
printf( \ n );
//二维数组中的最大值和最小值int max,min
max=最高(点);//查找最大值的最高函数
min=最低(点);//最小值函数printf (max: %d,min: %d\n ,max,min);
printf( \ n );
//第一列与第四列交换
Printf(第一列与最后一列交换:\ n );
int t[3]={ 0,0,0 };
for(I=0;我我)
{
t[I]=array[I][0];
}
for(I=0;i3;我)
{
数组[i][0]=数组[I][3];
}
for(I=0;我我)
{
array[I][3]=t[I];
}
for(I=0;i3;I) //外环控制线
{
for(j=0;j)//内部循环控制列
{
printf(=,array[I][j]);
}
printf( \ n );
}
printf( \ n );Printf(以列的逆序输出:\ n );
tt境内;
for(I=0;i3;我)
{
for(j=0;j j)
{
tt=*(*(点I)j);
*(*(点I)j)=* *(点I)3-j);
*(*(第一点)3-j)=TT;
}
}
for(I=0;i3;I) //外环控制线
{
for(j=0;j)//内部循环控制列
{
printf(=,*(*(point I)j));
}
printf( \ n );
}
}运行结果:
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。