C语言 这个程序为何错误,求Sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/(2n))其中n的值由键盘获得。
#include <stdio.h>
int main(void)
{
unsigned i,n;
double sum1=0.0,sum2=0.0;
printf(" 这是一个计算 Sn = (1-1/2) + (1/3-1/4) + ...... + [1/(2n-1)-1/(2n)] 的程序\n\n");
printf(" 请输入n的值(正整数):");
scanf("%u",&n);
for(i=1;i<=n;i++)
{
sum1+=1.0/(double)(2*i-1);
sum2+=1.0/(double)(2*i);
}
if(n==1)
printf(" S%u = (1 - 1/2) = %.4f\n",n,sum1-sum2);
if(n==2)
printf(" S%u = (1 - 1/2) + (1/3 - 1/4) = %.4f\n",n,sum1-sum2);
if(n>2 && n<1000)
printf(" S%u = (1 - 1/2) + (1/3 - 1/4) + ...... + [1/(2×%u-1) - 1/(2×%u)] = %.4f\n",n,n,n,sum1-sum2);
if(n>999)
printf(" S%u=(1-1/2)+(1/3-1/4)+ ......+[1/(2×%u-1)-1/(2×%u)]=%.4f\n",n,n,n,sum1-sum2);
return 0;
}
2013-07-05
}
printf("s=%lf\n",s);
}修改了下楼主的程序。。
2013-07-05
2013-07-05