函数fun的功能是:计算f(x)的前n项。
若x=2.5,n-12时,函数值为:12.182340.
#include <stdio.h>
double fun(double x, int n){
double f, t; int i;
f = 1.0;
t = 1;
for (i=1; i<n; i++){
t *= x/i;
f += t;
}
return f;
}
int main(){
double x, y;
x=2.5;
y = fun(x, 12);
printf("The result is :\n");
printf("x=%-12.6f y=%-12.6f\n", x, y);
}
程序用来计算表达式各项之和,程序中用t来记录计算后的各项的值,由于首次计算t的的值要为x,所以t必须初姑化为1;程序通过for循环来实现各项的累加,并通过变量i控制累加次数,由于n=12时,需要执行累加的次数为11,所以i的值必须初化为1;由于除第一项外的其它各项的值都可以拆分成前一项的值乘以"x/i"。
对于程序各语句的具体分析如下:函数fun(double x,int n)中,n表示要计算多少项的项数。
f=1.0; 表示第一项的值。
t=1; 中的t用来存储各项的项值,此处是对t进行初始化。
for(i=1;i<n;i+)1从1开始,小于12,计算除第1项外的其他11顶的值,同时将各项值(包括第一项的值1)进行累加。
t *= x/i; t存储的是上一项的值,x/i表示在上一项的基础上再乘以x/i。
当i=1时,因为t=1,所以t *= x/i;即t = t * x/i;等于1*x/1得到结果t=x。
当i=2时,因为t=x,所以t *= x/i;即t = t * x/i;等于x*x/2,结果t-x*x/2,依次类推得出以下项的值。
f+=t;把每一项得到的值累加起来,得到全部项的和。
本评析仅作参考。