【问题题目】输入一个实数x,计算并输出下式的值,直到最后一项的绝对值小于10^-5(保留两位小数)。要求定义和调用函数fact(n),计算n的阶乘,可以调用pow()函数求幂。
【问题分析】一个成熟的函数应该有声明(主函数在前)、定义、调用三部分。
【代码呈上】
#include<stdio.h>
#include<math.h>
double fact(int n); /* 函数声明 */
int main()
{ int i=1;
double x,item,s=0;
printf("输入x的值:");
scanf("%lf",&x);
item=x;
while(fabs(item)>=0.00001)
{ s=s+item;
i++;
item=pow(x,i)/fact(i);
}
printf("和是:%.2lf\n",s);
return 0;
}
double fact(int n)
{ int i;
double j=1;
for(i=1;i<=n;i++)
j=j*i;
return j;
}