函数int maxint(int a[], int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。
int maxint(int a[],int k)
{
int t;
if( (3) ) return (4) ;
t=maxint(a+1, );
return (a[0]>t)?a[0]:t;
}
递归的思路如下:
先计算a[0]与{a[1].......a[k-1]}的最大值,而{a[1].......a[k-1]}的最大值可以利用递归方法求得maxint(a+1,k-1);
而{a[1].......a[k-1]}的最大值可以利用a[1]与{a[2]........a[k-1]}进行比较得到最大值,而{a[2]........a[k-1]}的最大值可以利用递归方法求得maxint(a+1,k-1);
如此反复。最后通过K的值大于0来结束。
所以程序完整写如下:
int maxint(int a[],int k)
{
int t;
if(k<=0)
{
return t;
}
t=maxint(a+1,k-1);
return (a[0]>t)?a[0]:t;
}
void main()
{
int a[9]={102,13,24,56,93,234,93,23,32};
int max=maxint(a,5);
printf("%d\n",max);
}