输入6个整数,输出其中最大的数(用递归法)

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:46:03
RT

用递归做起来并不比 for 循环费事的,且看:

#include <stdio.h>
// pData 指向一个整型数组,
// nLen 数组长度
int RecurMax( int* pData, int nLen)
{
if ( nLen == 1 )
{
return pData[0];
}

int nSubMax = RecurMax(pData+1, nLen-1);

return pData[0]>nSubMax?pData[0]:nSubMax;
}

int main()
{
int n[6] = {0};

printf("请输入六个整数:\n");
for (int i=0;i<6;i++)
{
scanf("%d", &n[i]);
}

printf("\n最大的数是:%d\n", RecurMax( n, 6));

return 0;
}

#include <stdio.h>

int Max(int * a,int cur,int size)
{
if(cur==size-1)
return a[size-1];
else
{
int tmp=Max(a,cur+1,size);
return tmp>a[cur] ? tmp : a[cur];
}
}

int main()
{
int a[]={6,5,3,2,4,1};
printf("%d