| 题目描述 |
| 输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。 x - x2/2! + x3/3! + ... + (-1)n-1xn/n! ×输出保留4位小数。 |
| 输入 |
| x n |
| 输出 |
| 数列和 |
| 样例输入 |
2.0 3 |
| 样例输出 |
1.3333 |
#include <stdio.h>
#include<math.h>
double fact(int n); //定义fact(n)的函数,求阶乘
double mypow(double x,int n); //定义mypow(x,n),求x的n次幂
int main() {int n;double x,sum=0;scanf("%lf %d",&x,&n);double sum1,sum2;for(int i=1;i<=n;i++){ //循环调用fact,mypow,其中-1的间隔变换,利用(-1)^i即pow(-1,i)sum+=pow(-1,i-1)*mypow(x,i)/fact(i); //mypow每次传入的都是(x,i),计算x的i次幂}printf("%0.4lf",sum);return 0;
}
double fact(int n){ double num=1;for(int i=1;i<=n;i++){num*=i; }return num;
}double mypow(double x,int n){ double dnum=1.0;for(int i=1;i<=n;i++){dnum*=x;}return dnum;
}