0
点赞
收藏
分享

微信扫一扫

9.2【二维数组指针编程】使用指针法编程找出其中最小的数,并输出对应的行号和列号(如果最小值有多个,输出最后一次出现最小值的行数和列数)

at小涛 2022-04-20 阅读 76
c语言

【问题描述】

现有两行三列的二维数组,数据是从键盘输入。请使用指针法找出其中最小的数,并输出对应的行号和列号(如果最小值有多个,输出最后一次出现最小值的行数和列数)。

要求:

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;

}
举报

相关推荐

0 条评论