// 输入5个正整数,用递归求和
// 2017-04-26
#include "stdio.h"
#include "stdlib.h"
int invert_sum(int data[],int nIndex)
{
int sum;
if(nIndex>=0)
{
sum=data[nIndex]+invert_sum(data,nIndex-1);
}
else //这是递归的退出条件,此时nIndex=-1
{
sum=0;
}
//或者这样
/*
if(nIndex>0)
{
sum=data[nIndex]+invert_sum(data,nIndex-1);
}
else //这是递归的退出条件,此时nIndex=0
{
sum=data[nIndex];
}
*/
return sum;
}
int main()
{
int data[5];
int sum;
int i;
printf("输入5个正整数:");
for(i=0;i<5;i++)
{
scanf("%d",&data[i]);
}
sum=invert_sum(data,4); //求和 从data[4]开始
printf("5个正整数的和=%d\n",sum);
return 0;
}