c语言编程题

如题所述

通项公式:(-1)^k(2k)!/[1!-3!+5!-...+(-1)^(k+1)(2k-1)!],k=1,2,3,...,N

变量设置:

int N;//总项数

int f1,f2;//符号,正负号切换,分别表示(-1)^k,和(-1)^(k+1)

double jc;//计算阶乘

double S;//S的值。

int k;//循环变量,等同于通项公式中的k。

程序如下:


#include <stdio.h>
#define Nmax 20
int main()
{
int N;/*总项数*/
int f1,f2;/*符号,正负号切换,分别表示(-1)^k,和(-1)^(k+1)*/
int mx;/*计算阶乘需要乘的项*/
double jc;/*计算阶乘*/
double fm;/*计算分母*/
double S;/*S的值。*/
int k;/*循环变量,等同于通项公式中的k。*/
do{
printf("请输入项数N,1≤N≤%d\n",Nmax);
scanf("%d",&N);
}while ((N<1) || (N>Nmax));
f1=-1;
f2=1;
jc=1.0l;
S=0.0l;
fm=0.0l;
mx=1.0l;
for (k=1;k<=N;k++)
{
  jc*=mx++;
  fm+=(double)(f2*jc);
  f2=-f2;
  jc*=mx++;
  S+=((double)(f1))*jc/fm;
  f1=-f1;
}
printf("计算结果:%lf\n",S);
system("PAUSE");
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-30
不是很难,你是要代码还是思路

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网