C语言问题,解答一下呗,简单问题

img


问个问题,麻烦大家解答一下,刚刚开始学习C语言。谢谢了谢谢了。很简单的,对你们来说

1.你可以再加一个变量,记录正负号
2.printf输出double要用%lf

t = -t毫无意义,下一个循环开始t就重新赋值了啊
你到底要实现什么功能呢


#include <stdio.h>
int main()
{
    double a,sum=0;
    int i=0,t=1;
    for(i=1;i<=101;i+=2)
    {
        sum += 1.0/(i*t);
        t*=-1;
    }
    printf("%lf",sum);
}

int i=1; 初始化
double sum=0 初始化
double t=0.0 初始化
for(i=1;i<=101;i+=2) 循环 从1开始, 当i>101 结束 每次循环 i的值+2
t=(1.0/i)*1.0; t的值在每次循开始时 = 1 / i * 1
sum+=t sum的值 = 每轮t的值加起来
t=-t 令 t 的 值 = -t
printf("%f",sum; 打印sum 的值

解决方法:sum += (1.0 / i) * t *pow(-1,i) 望采纳

输出是%lf

这么改下,供参考:

#include <stdio.h>
int main()
{
    int i = 1;
    double sum = 0, t = 1.0;
    for (i = 1; i <= 101; i += 2) {
        sum += (1.0 / i) * t;
        t *= -1.0;
    }
    printf("%f", sum);
    return 0;
}