递归实现数组求和
#include <iostream>
using namespace std;
int RecArraySum(int intArray[], int length)
{
if (length == 0)
{
//如果数组为空,返回0
return 0;
}
else if (length == 1)
{
//如果数组只有一个元素,返回该数组元素
return intArray[length - 1];
}
else
{
//数组最后索引的数值和递归调用addArray方法
return intArray[length - 1] + RecArraySum(intArray, length - 1);
}
}
int main()
{
int arr[] = { 1,2,3,4,5,6};
int n = sizeof(arr) / sizeof(arr[0]);
int result = RecArraySum(arr, n);
cout << "result: " << result << endl;
return 0;
}
递归判断数组中的元素是否递增
解析:数组长度为1,返回true
数组长度大于1,先比较最后两个元素是否递增,如果递增则再递归比较前n-1个元素是否递增
#include <iostream>
using namespace std;
int RecArrayCom(int arr[], int n)
{
if (n <= 1)
{
return 1;
}
else
return arr[n - 1] >= arr[n - 2] && RecArrayCom(arr, n-1);
}
int main()
{
int arr[] = { 1,2,3,4,5,6};
int n = sizeof(arr) / sizeof(arr[0]);
if (RecArrayCom(arr, n))
{
cout << "递增" << endl;
}
else
{
cout << "递减" << endl;
}
return 0;
}