C语言递归算法求1+2+3+....+n的和(不要百度答案…)

2025-01-07 07:25:34
推荐回答(2个)
回答1:

#include
float fun(int n)
{
if(n==1) return 1;//如果n=1则直接返回1
return n*fun(n-1);//否则返回n*fun(n-1),以此计算n的阶乘,这条语句就是递归体
}
void main()
{
int i;
float sum=0;
for(i=1;i<=n;i++){
sum+=fun(i); //循环调用,用sum累计
}
printf("sum=%.2f\n",sum);
}

回答2:

#include 

int Sum(int n) {
int sum = 0;
if(n == 0) return 0;
return n + Sum(n - 1);
}

int main() {
printf("%d\n",Sum(100));
return 0;
}