#include<stdio.h>
#include<stdlib.h>
//数组求和
int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
main()
{
int i;
system("cls");
printf("\n The arry is:\n");
for(i=0;i<sizeof(a)/sizeof(a[0]);i++)
printf(" %d ",a[i]);
printf("\n SUM of the arry is: %d\n",sum(a,sizeof(a)/sizeof(a[0])));
printf("\n Press any key to quit...\n");
getchar();
<span style="font-family: Arial, Helvetica, sans-serif;">getchar();</span>
}
sum(int a[],int n)
{
if(n<=0)
return 0;
return a[n-1]+sum(a,n-1);//递归
}
递归以函数来解析
f(n){
if(n=0) 返回0
s=2+f(n-1)
}
从函数的角度来看以已知求未知,现有n=0推出f(0)=0
则有f(0)+2=s n=1
直推0+(n-1)*2