遇到点问题,求思路和代码?

我知道自定义函数里输出和找出最大值的代码怎么写,就是怎么用自定义函数来完成

 

代码如下:

#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打印

 

最后结果图: