解题思路:





注意事项:


sum+=t;


参考代码:

#include <stdio.h>
double fact(int a)
{
    if (a<0) return -1;
    else if (a==1||a==0) return 1;
    return (double)a*fact(a-1);

}

double mypow(double x,int n)//x为底数 n为幂
{
    double result=1;
    for (int i = 0; i <n; i++) {
        result*=x;
    }
    return result;
}

int main()
{
    int n,flag=1;//flag通过循环 变化正负;
    double sum=0,t,x;
    scanf("%lf%d",&x,&n);
    for (int i = 1; i <=n; i++) {
        t=flag*mypow(x,i)/fact(i);
        sum+=t;
        flag=-flag;
    }
    printf("%0.4lf",sum);
    return  0;
}


 

0.0分

0 人评分

C语言网提供「C语言、C++、算法竞赛」在线课程,全部由资深研发工程师或ACM金牌大佬亲授课,更科学、全面的课程体系,以在线视频+在线评测的学习模式学习,学练同步,拒绝理论派,真正学会编程!还有奖学金等增值福利等你!

  评论区