解题思路:
注意事项:
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 人评分