这哪是一个递归算法,这么多个:
给你设计其中一个:这是递归得到数组a【】的前k个元素的最大值
int max(int a[],int k)
{
if(k==2)return(a[0]>a[1]?a[0]:a[1]);
else return max(a,k-1)>a[k]? max(a,k-1):a[k];
}
可以这样试试看:
#include<stdio.h>
int max(int a[],int k)
{
if(k==2)return(a[0]>a[1]?a[0]:a[1]);
else return max(a,k-1)>a[k]? max(a,k-1):a[k];
}
main()
{ int t, b[]={1,2,3,4,5,6,7,8};
t=max(b,8);
printf("%3d",t); getch();
}
温馨提示:答案为网友推荐,仅供参考