使用预定义函数计算序列总和的 C 程序
问题
计算以下表达式总和的程序
Sum=1-n^2/2!+n^4/4!-n^6/6!+n^8/8!-n^10/10!
用户必须在运行时输入n的值才能使用math.h库函数中存在的预定义函数幂来计算序列的总和。
解决方案
下面解释如何使用预定义函数计算序列的总和。
算法
参考下面给出的算法来使用预定义的函数计算序列的总和。
步骤1 -读取num值
Step2-初始化fact=1,sum=1andn=5
步骤3-对于i=1到n
a. compute fact= fact*i b. if i %2 = 0 c. then if i=2 or i=10 or i=6 d. then sum+= -pow(num,i)/fact e. else sum+=pow(num,i)/fact 4. print sum
示例
以下是使用预定义函数计算序列总和的C程序-
#include输出结果#include #include void main(){ int i,n=5,num; long int fact=1; float sum=1; printf("输入n值:"); scanf("%d", &num); for(i=1;i<=n;i++){ fact=fact*i; if(i%2==0){ if(i==2|i==10|i==6) sum+= -pow(num,i)/fact; else sum+=pow(num,i)/fact; } } printf("sum is %f", sum); }
执行上述程序时,会产生以下结果-
输入n值:10 sum is 367.666656