【问题描述】
现有两行三列的二维数组,数据是从键盘输入。请使用指针法找出其中最小的数,并输出对应的行号和列号(如果最小值有多个,输出最后一次出现最小值的行数和列数)。
要求:
1、不在子函数中输出。
2、使用指定子函数,不得修改。
void GetMin(int *p,int m,int n,int *b)//p是行地址,m是行,n是列,b存储最小值、行和列的结果
【输入形式】
主函数中循环输入2行3列数组元素。
【输出形式】
输出最后一次最小值及所在行号和列号
【样例输入】
7 6 4
4 3 3
【样例输出】
min=3,2,3
【样例说明】
 【评分标准】
#include<stdio.h>
void GetMin(int *p,int m,int n,int *b)
{
	int i,j;
	b[0]=*p;
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			if(*b>=*(p+i*n+j))
			{
			 *b=*(p+i*n+j);
			 *(b+1)=i;
			 *(b+2)=j;
			 			 
			}
			 
		}
	}
}
int main()
{
	int a[2][3],b[3];
	int *p;
	int m=2,n=3,i,j;
	p=&a[0][0];
	
	
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
		scanf("%d",&a[i][j]);
		
		}
	}
	
	
	GetMin(p,m,n,b);
	printf("min=%d,%d,%d", *b, *(b+1)+1,*(b+2)+1);
	return 0;
}









