给你个用递归方法的,这种题目一般是用递归算法做的
#include
#include
long double fun(int n);
main()
{
int n;
printf("请输入n的值:\n");
scanf("%d",&n);
printf("表达式的值为:%lf\n",fun(n));
}
long double fun(int n)
{
long double result;
if(n == 1)
{
return 1;
}
else
{
result = (long double)pow(-1,n+1)/n;
return result+fun(n-1);
}
}
思路:奇数项是加,偶数项是减。
int funtion(int n){
int i;
float sum=0.0;
for(i=1;i<=n;i++)
if(i%2==1)
sum+=1/i;
else
sum-=1/i;
return sum;
}
上面的返回值搞错了, 改成float就行了, 我晕, QQ搞什么鸟, 不能对自己的答案进行编辑的。靠