不好意思,关于递归的一个小程序,请进来看看如何解答。

oldgameman 2002-08-22 04:27:55
用递归计算n个元素的数组的最大元素。
定义一个函数
int max(int x,int y);

它返回x和y之间的较大值。定义函数
int arraymax(int a[],int n);
他使用递归返回数组a的最大元素值
终止条件:n==1
递归步骤:arraymax=max(max(a[0],...,a[n-2]),a[n-1])


我对递归不熟,这道题耗费了我两小时了
请递归达人进来指点...
有分!!!
...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lumg 2002-08-22
  • 打赏
  • 举报
回复
int max(int x, int y)
{
return (x>=y?x:y);
}

int arraymax(int a[],int n)
{
int temp;
if (n==1) return a[0];
temp=arraymax(a,n-1);
return max(temp,a[n-1]);
}


liushmh 2002-08-22
  • 打赏
  • 举报
回复
int arraymax(int a[],int n)
{
if(n==1)return *a;
return(max(*a,arraymax(a+1,n-1)));
}
wiler 2002-08-22
  • 打赏
  • 举报
回复
int max(int x,int y)
{
return( x > y ? x : y );
}
int arraymax(int a[],int n)
{
if ( n == 1 )
return a[0];
return(max(arraymax(a,n-1),a[n-1]));
}
Kaye 2002-08-22
  • 打赏
  • 举报
回复
你要问什么还没说呢!!!

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧