/* 输入x、n后输出下列算式的值,fact(n)实现n!,mypow(x,n)实现xn */
#include <stdio.h>
#include<math.h> //程序中需要调用fact函数和pow函数//
double fact(int n); //定义fact函数求阶乘//
int main(void)
{
int i,x,flag; //分子为flag//
double n,sum; //sum表示总和//
printf("Enter x and n:\n");
scanf_s("%d %f",&x,&n);
sum=0;
flag=1;
n=x;
for(i=1;i<=n;i++){
sum=sum+flag*powl(x,i)/fact(i);
flag=-flag; //每次循环后分子变号//
}
printf("%.2f\n",sum);
return 0;
}
double fact(int n) //调用fact函数//
{
int i;
double fact=1;
for(i=1;i<=n;i++)
{
fact=fact*i; /*求阶乘*/
}
return fact;
}
![](//images0.cnblogs.com/blog/570134/201311/03210927-943be178999f418c9af25adbc48cf11d.png)