快救救孩子吧。我真的看了好久

img

img

img


#include "stdio.h"
#include "math.h"
void main()
{
    int x;
    double sum=0;
    int i;
    scanf("%d",&x);
    
    for(i=1;i<=100;i++){
        sum += pow(-1,i-1)*x/i;    
    }
    printf("sum=%0.2lf",sum);
}

x/i是整除,所以一直为0
改为 y = y+x*1.0/i;

代码逻辑没什么问题,只是x的类型需要定义成double,如果x是int的话除以一个数获取的结果会自动转成int,也就是当x=1时,所有的x/i获取的结果都是0