【问题描述】
现有如下的二维数组,请找出其中最大的数。
要求:
1、不在子函数中输出。
2、使用指定子函数,不得修改。
int GetMax(int *p,int m,int n)
【输入形式】
主函数中循环输入2行3列元素:
【输出形式】
输出最大值
【样例输入】
1 2 9
4 9 8
【样例输出】max=9
【样例说明】
注意:主函数中函数调用要考虑传实参是行地址。
#include<stdio.h>
int GetMax(int (*p)[3],int m,int n)
{
int i,j,max=0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(p[i][j]>max)
max=p[i][j];
}
}
return max;
}
int main(){
int a[2][3];
int i,j,max;
int (*p)[3]=&a[0];
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
max=GetMax(&a[0],2,3);
printf("max=%d",max);
return 0;
}
该程序定义了一个二维数组,通过主函数输入2行3列的元素,然后调用子函数GetMax找到并返回最大值。子函数不进行输出,主函数负责打印最大值。
880

被折叠的 条评论
为什么被折叠?



