今天我们来完成一道数学题
由于网络原因不能放上运行截图,明天再补
计算前20项的和?
其实我们可以写一个不止完成20项,还可以完成更多项的函数、这个函数核心是求第n个加数的表达式,这个表达式不难看出f(n) = 1/f(n-1) + 1;
接下来就是很典型的递归函数了。然后把f(1)到f(n)相加就可以了,下面放上我的第一遍代码,比较粗糙,以后再仔细修改。
如果打家有好的建议请提出来,O(∩_∩)O谢谢!
下面是我的代码
#include <stdio.h>
float fract(int n)
{
float f;
if(n == 1)
{
f = (2*n)/n;
}
else
{
f = 1/fract(n - 1) + 1;
}
return f;
}
int main()
{
int n;
int i;
float m;
float sum;
printf("input a number!\n");
scanf("%d",&n);
if(n < 0 || n == 0)
{
printf("data error !\n");
exit(0);
}
else
{
for(i = 1; i <= n; i++)
{
m = fract(i);
sum += m;
}
}
printf("%f\n",sum);
return 0;
}
由于网络原因不能放上运行截图,明天再补