使用预定义函数计算序列总和的 C 程序

问题

计算以下表达式总和的程序

Sum=1-n^2/2!+n^4/4!-n^6/6!+n^8/8!-n^10/10!

用户必须在运行时输入 n 的值才能使用math.h库函数中存在的预定义函数幂来计算序列的总和。

解决方案

下面解释如何使用预定义函数计算序列的总和。

算法

参考下面给出的算法来使用预定义的函数计算序列的总和。

步骤 1  - 读取 num 值

Step 2 - 初始化 fact = 1, sum = 1 and n =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<stdio.h>
#include<conio.h>
#include<math.h>
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