利用指针变量作为函数的参数,设计程序求整数数组a[10]中的最大值和最小值。

2024-11-18 00:30:00
推荐回答(2个)
回答(1):

void maxandmin( int *p, int *max, int *min )

{

*max=*min=p[0];

for(int i=1;i<10;i++)

{

if(*max

*max=p[i];

if(*min>p[i])

*min=p[i];

}

}

回答(2):

我不太明白你的意思,按我的理解就是这样的:
void maxandmin(int *p, int *max, int *min)
{
max=p;
min=p; //假设最大值和最小值是a[0]
int i=0;
for(;i<10;i++)
{
if(*maxmax=p+i;
if(*min>p[i])
min=p+i;
}
}
这就是maxandmin的代码了,关于你如果要调用这个函数得这样:
#include
void maxandmin(int *p, int *max, int *min);
void mian()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},max,min;
maxandmin(a,&max,&min);
printf("最大值是:%d\n最小值是:%d",max,min);
}
void maxandmin(int *p, int *max, int *min)
{
max=p;
min=p; //假设最大值和最小值是a[0]
int i=0;
for(;i<10;i++)
{
if(*maxmax=p+i;
if(*min>p[i])
min=p+i;
}
}
反正思路就是这样,就是先假设,然后逐一比对,如果a[i]>*max就把a[i]的地址p+i给max(p默认是个地址值,就是p[0]的地址),min也一样。当所有的找完以后,就得到了想要的答案。
你可以复制过去试试,如果不对可以再联系我