#include <stdio.h>
void f(int data[5][6]) // 二维数组传参void f(int data[0][6]) void f(int (*data)[6])
{
int i=0,j=0,hang,lie;
hang = j;
lie = i;
for(j=0;j<5;j++)
for(i=0;i<6;i++)
{
if(data[j][i] < data[hang][lie]) // 先锁定第一个位置,如果小,那么记录下标 并且赋值给hang和lie 下次进行对比
{
hang = j; // 如果
lie = i;
}
}
printf("最小元素行坐标:%d,列坐标:%d",hang,lie);
}
int main()
{
int data[5][6],i,j;
for(j=0;j<5;j++)
for(i=0;i<6;i++)
{
scanf("%d",&data[j][i]);
}
f(data);
return 0;
}
法二:一样的
#include <stdio.h>
void f(int a[2][2])
{
int min = a[0][0];
int hang = 0,lie = 0;
for(int i = 0;i < 2; i++)
for(int j = 0;j<2;j++)
{
if(a[i][j]<min)
{
min = a[i][j];
hang = i;
lie = j;
}
}
printf("最小元素:%d",a[hang][lie]);
printf("最小元素行坐标:%d,列坐标:%d",hang,lie);
}
int main()
{
int data[2][2],i,j;
for(j=0;j<2;j++)
for(i=0;i<2;i++)
{
scanf("%d",&data[j][i]);
}
f(data);
return 0;
}