编一个递归函数,求给定数组A中的最大元素。假设数组A是含有100个整数的数组。
#include <stdio.h>
int getMaxNum(int a[], int n, int MaxNum)
{
if (MaxNum < a[n])
{
MaxNum = a[n];//如果小于当前元素,更新最大值
}
if (n == 0)
{
return MaxNum;
}
getMaxNum(a, n - 1, MaxNum);//递归调用,依次往前比较,但我不知道为什么一定要用递归,实际上循环就可以解决
}
int main()
{
int a[100], n = 99;
for (int i = 0; i < 100; i++)
{
if (i < 50)
{
a[i] = i + 1;
}
else
{
a[i] = i - 10;
}
}//随便给数组赋一点初值
printf("%d", getMaxNum(a, n, a[n]));//此时假设a[n]为最大值
return 0;
}
运行结果: