
C语言,求一组整数数组中的最大值,用递归调用,,谢谢
展开全部
#include <stdio.h>
#define MAXLENGTH 5
void main()
{
int Input[MAXLENGTH] = {0}, i = 0;
int _GetMax(int *Input,int Index);
printf("请输入%d个整数:\n",MAXLENGTH);
for (i = 0; i< MAXLENGTH; i++)
{
scanf("%d",&Input[i]);
}
int max = _GetMax(Input,0);
printf("最大值为:%d\n",max);
}
int _GetMax(int *Input, int Index)
{
if (Index == MAXLENGTH -1)
{
return Input[Index];
}
else
{
int Bigger = _GetMax(Input,Index + 1);
return Input[Index] > Bigger ? Input[Index] : Bigger;
}
}
#define MAXLENGTH 5
void main()
{
int Input[MAXLENGTH] = {0}, i = 0;
int _GetMax(int *Input,int Index);
printf("请输入%d个整数:\n",MAXLENGTH);
for (i = 0; i< MAXLENGTH; i++)
{
scanf("%d",&Input[i]);
}
int max = _GetMax(Input,0);
printf("最大值为:%d\n",max);
}
int _GetMax(int *Input, int Index)
{
if (Index == MAXLENGTH -1)
{
return Input[Index];
}
else
{
int Bigger = _GetMax(Input,Index + 1);
return Input[Index] > Bigger ? Input[Index] : Bigger;
}
}
追问
写的很详细,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int getmax(int cnt, int data[])
{
int v;
if(cnt==2){
if (data[0] > data[1)
return data[0];
else
return data[1];
}
v = getmax(cnt-1, &data[1]);
if (v > data[0)
return v;
else
return data[0;
}
Main函数,你自己写
int getmax(int cnt, int data[])
{
int v;
if(cnt==2){
if (data[0] > data[1)
return data[0];
else
return data[1];
}
v = getmax(cnt-1, &data[1]);
if (v > data[0)
return v;
else
return data[0;
}
Main函数,你自己写
追问
谢谢,成功了
追答
在iPad上答题不方便,我刚才敲错了2个地方,data[0后少了]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询