我知道自定义函数里输出和找出最大值的代码怎么写,就是怎么用自定义函数来完成
代码如下:
#include <stdio.h>
#include <stdlib.h>
void listmax(int a[][4],int m)
{
int i,j;
for (i = 0;i<m;i++)
{
for (j =0;j<4;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
//*nmb是最大的值,*row是所在的行,*col是所在的列
void max_array(int a[][4],int m,int *nmb,int *row,int* col)
{
int i,j,max,maxcol,maxrow;
max = a[0][0];
maxrow = 0;
maxcol = 0;
for (i = 0;i< m;i++)
{
for (j = 0;j< 4;j++)
{
if(a[i][j] > max)
{
max = a[i][j];
maxrow = i;
maxcol = j;
}
}
}
*nmb = max;
*row = maxrow;
*col = maxcol;
}
int main()
{
int a[3][4],i,j,max,row,col;
for (i = 0;i<3;i++)
{
for(j = 0;j<4;j++)
a[i][j] = rand()%9900 + 100;
}
listmax(a,3);
max_array(a,3,&max,&row,&col);
printf("最大的数是%d,位置是%d行%d列\n",max,row,col);
return 0;
}
用函数rand()可以产生随机数,具体怎么使用请百度。
这个没啥说的,就是遍历数组找到最大的值,并记录对应的脚标,只是在最后显示的时候我们的习惯不是从0行0列开始的,使用1行1列开始的故都加1打印
最后结果图: