注册 登录
编程论坛 C语言论坛

数列求和中输出第n项和时的部分循环条件

t17 发布于 2022-10-27 15:30, 664 次点击
这题的while循环是什么意思啊,为什么要这样写呢?求大佬解答
计算数列1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + …的前n项之和。

Input
输入有多组数据

输入一个正整数n。

Output
输出数列前n项的和。输出保留5位小数。
#include

int main(void)

{

int n, i ;

while (scanf("%d", &n) == 1)

{

double x = 0;

int h = 1, m=1;

for (i=1;i<=n;i++)

{

x = x + m * 1.0 / h;

h += 2;

m = m * (-1);

}

printf("%.5f\n", x);

}

return 0;

}
1 回复
#2
rjsp2022-10-28 13:42
这是道简单的数学问题,讲什么呢?

程序代码:
#include <stdio.h>

int main( void )
{
    for( unsigned n; scanf("%u",&n)==1; )
    {
        double sum = 0;
        for( unsigned i=0; i!=n; ++i )
            sum += (1.0-i%2*2)/(2*i+1);
        printf( "%.5f\n", sum );
    }
}
1