递归求4个数中的最大

来源:百度知道 编辑:UC知道 时间:2024/05/18 11:13:29
应该怎样做啊??我一点思路都没有
C语言的

int dgm(int *a)//传入一个长度为4的整型数组,返回其中的最大值
{
static int i=1;
int m=*a,t;
if (i++<4) m=m>(t=dgm(a+1))?m:t;
return m;
}

//调用示例

#include <stdio.h>
int dgm(int *a)
{
static int i=1;
int m=*a,t;
if (i++<4) m=m>(t=dgm(a+1))?m:t;
return m;
}
int main(void)
{
int u[4]={1,2,5,0};
printf("%d\n",dgm(u));
return 0;
}

输入按照逗号隔开
#include <stdio.h>
int input[4];
static int num = 0;
int nmax(int*);
void main(void)
{

printf("input 4 number:");
for (int i=0;i<4;i++)
{
scanf("%d,",&input[i]);
}
int res = nmax(input);
printf("%d",res);
}

int nmax(int* x)
{
num++;
if (num<4)
{
if (*x>*(x+1))
{
*(x+1)=*x;
}
x++;
return nmax(x);
}
e