我的函数从用户获取一个数字输入并递归地将数字'n'加到一.
输入5将总和1/5 + 1/4 + 1/3 + 1/2 + 1/1.
#include<stdio.h>
#include<conio.h>
//to
float recursion(float num,float sum);
void main(void)
{
float num=5,sum=0;
//input num
printf("%d",recursion(num,sum));
getch();
}
float recursion(float num,float sum)
{
// int sum=0; every time u run it the sum is assigned 0
if( num==1)
return 1;
else
{
sum=sum+(1/num);
num--;
recursion(num,sum);
}
return sum;
}//recursion function ends
Run Code Online (Sandbox Code Playgroud)
问题是,它给0:/任何人都可以帮忙吗?
您应该返回递归调用的结果:
return recursion(num,sum);
Run Code Online (Sandbox Code Playgroud)
而不是return sum.
| 归档时间: |
|
| 查看次数: |
423 次 |
| 最近记录: |