第1个回答 2010-05-24
#include <stdio.h>
int sum(int *a, int n)
{
if (n==0)
{
return 0;
}
return a[n-1]+sum(a,n-1);
}
int main()
{
int a[5]={1,2,3,4,5};
int num=sum(a,5);
printf("sum=%d\n",num);
return 0;
}
程序如上。本回答被提问者采纳
第2个回答 2010-05-24
static int _sum = 0;
int
sum_(int *a1, int n1, int len1)
{
if(n1 < len1){
_sum += sum_(a1,n1,len1)+sum_(a1,n+11,len1);
} esle{
return _sum;
}
}
int
sum(int *a, int n)
{
int len=0;
int *tmp=a;
while(*tmp)
{
++len;
++tmp;
}
sum_(a,n,len)
}
第3个回答 2010-05-25
int sum(int *a, int n)
{
int s=0;
int i;
for (i=0;i<n;i++)
s=s+*(a+i);
return s;
}