c语言 1-1/2+1/3-1/4+1/5-1/6+...1/n n从键盘输入

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:53:41

#include <stdio.h>
int a[2] = {-1, 1};
float Sum(int n, int nTimes)
{
if(n <= nTimes)
return 1.0/n * a[n%2] + Sum(n+1, nTimes);
else
return 0;
}

int main()
{
int nTimes = 0;
scanf("%d", &nTimes);
if(nTimes > 0 && nTimes < 101)
printf("%f\n", Sum(1, nTimes));
return 0;
}

上面两位兄弟的代码我运行了一下,都有点小小的问题,你本人可以运行试试。
看我的既简单有正确的代码,帮你运行过了,正确:
#include<stdio.h>
main()
{
int n,i;
double sum=0.0,t=1,a;
a=1.0;
printf("请输入n的值:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{sum=sum+t;
a=-a;
t=a/i;
}
sum=sum+t;
printf("%lf",sum);
}本人把代码又修改的简洁点。

include <stdio.h>
main()
double sum=0.0;
int i;
{
for(i=1;i<=n;i++)
{sum+=1.0/i;i=-i;}
printf("%f",sum);
}

#include<stdio