求c语言大佬帮忙看看

2025-04-28 01:47:07
推荐回答(2个)
回答1:

#include

int *max(int *a,int *b)

{

return *a>*b?a:b;

}

int main()

{

int n,a[111],max;

scanf("%d",&n);

for(int i=0;i

scanf("%d",&a[i]);

max=a[0];

for(int i=0;i

{

max=*max(&a[i],&max);

}

printf("max=%d\n",max);

return 0;

}

回答2:

#include

int max(int *n1,int *n2,int num) //假定n1为二者中较大的//n2表示下一个待比较

{

static int i = 0;

++i;

if(i == num) return *n1; // 三个数调用两次

if(*n1 > *n2)

max(n1,++n2,num); //拿前面一个和更后面一个比

else

{

n1 = n2;

max(n1,++n2,num); // 拿后面的一个和更后面一个比

}

}

int main()

{

int a[5] = {10,0,1,8,-1};

printf("%d",max(a,a+1,5));

return 0;

}