大家帮我修改下这个程序

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:33:15
#include<stdio.h>
#include<math.h>
main()
{
int n,i,j;
float sum=0,m=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
m=-m;
j=m/(2*n+1);
sum=sum+j;
printf("%f",sum);
getch();
}
这个是求1/1-1/3+1/5...1/(2*n+1)
二楼,怎么输入2时是0呀?
我都试了,为什么输出的都不是正确的呀?
输入2时应该是0.866...

前面的程序都有逻辑错误~!以后要小心~!
下面是正确代码,和错误注释:
#include<stdio.h>
#include<math.h>
main()
{
int n,i;
float sum=0,m=-1,j; \\这里m=-1

scanf("%d",&n);
for(i=0;i<n;i++)
{
m=-m;
j=m/(2*i+1);\\这里应该是i
sum=sum+j;
}
printf("%f",sum);
getch();
}

#include<stdio.h>
#include<math.h>
main()
{
int n,i,j;
float sum=0,m=-1;
scanf("%d",&n);
for(i=0;i<=n;i++) {
m=-m;
j=m/(float)(2*n+1);
sum=sum+j;
}
printf("%f",sum);
getch();
}

#include<stdio.h>
#include<math.h>
main()
{
int n,i;
float sum=0,m=1,j;

scanf("%d",&n);
for(i=1;i<=n;i++)
{
m=-m;
j=m/(2*n+1);
sum=sum+j;
}
printf("