关于#c++#的问题:运行结果不对啊求解#include <stdio.h>

用函数求1-1/3+1/5-1/7+1/9+....的前N项和,N由键盘输入。运行结果不对啊求解
#include
float fun(float);

main()
{
    float  m,n;
    printf("请输入数字:");
    scanf("%f",&n);
    printf("%f",fun(n));
}
    
    float fun(float x)
    {
        float m,sum=0,k=1;
        for(m=1;m<=x;m++,m++)
        {sum+=k*(1.0/m);
        k=k*(-1);
        }
        return sum;
    }
    

m 就只用来 循环就行了,多加个t 用来表示 分母

#include<stdio.h>
float fun(float);

int main()
{
    float  m,n;
    printf("请输入数字:");
    scanf("%f",&n);
    printf("%f",fun(n));
    return 0;
}
    
float fun(float x)
{
    float m,sum=0,k=1,t=1;
    for(m=1;m<=x;m++)
    {
        sum+=k*(1.0/t);
        k=k*(-1);
        t+=2;
    }
    return sum;
}