C++计算式子(n!是指n的阶乘) 1-1/2!+1/3!-1/4!+...-1/n! 我不知道该怎么表达分数之间的运算,求详解,谢

我是初学C++的,希望知道的帮我解答一下

#include<iostream>
using namespace std;
void main()
{
int i;
double n=1,sum=0,t;
int maxn;
cout<<"请输入最大的n的值:";//输入你要计算到的最大的n,比如n=3,就计算1-1/2!+1/3!
cin>>maxn;
for(i=1;i<=maxn;i++)
{
n=n*i;
if(i%2==0)
n=-n;//偶数项为负值
t=1/n;
sum=sum+t;
if(n<0)
n=-n;//把n变回正数

}
cout<<"1-1/2!+1/3!-1/4!+...="<<sum<<endl;
}//试验过了,不懂可追问
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-15
#include<iostream.h>
#include<math.h>
int jc(int n) //这是求阶乘的函数
{
for(int a=1,b=1;b<=n;b++)
{
a*=b;
}
return(a);
}
void main()
{
int n,i;
double sum=0;
cin>>n;
for(i=1;i<=n;i++)
{
sum=sum-pow((-1),i)/jc(i);
} //pow是求次方的函数,这里用来确定符号
cout<<sum;
}
第2个回答  2011-04-13
把分数写成两个数相除就可以了。

C++计算式子(n!是指n的阶乘) 1-1\/2!+1\/3!-1\/4!+...-1\/n! 我不知道该...
void main(){ int i;double n=1,sum=0,t;int maxn;cout<<"请输入最大的n的值:";\/\/输入你要计算到的最大的n,比如n=3,就计算1-1\/2!+1\/3!cin>>maxn;for(i=1;i<=maxn;i++){ n=n*i;if(i%2==0)n=-n;\/\/偶数项为负值 t=1\/n;sum=sum+t;if(n<0)n=-n;\/\/把n变...

编写c++源程序计算e=1+1\/1!+1\/2!+1\/3!+...+1\/n!+...计算e的值,直到1\/...
求阶乘的部分可以写在子函数里。阶乘自然用到累乘器 int y=1;之后就是for循环:for(int i=1;i<n+1;i++)y*=i;关于return 的是y 还是1\/y 看你自己的兴致了。这个n可以通过函数参数传进来。求和的部分自然也需要用到累加器:int e=0;然后for(int i=1;true;i++)e=1\/y(i)假设y就是...

C语言题求 s=1\/1!-1\/2!+1\/3!-1\/4!+……+1\/n!的解答过程?高手快来啊...
Microsoft Visual C++ .NET \/ include "stdafx.h"include "string"include "iostream"using namespace std;\/ s=1\/1!-1\/2!+1\/3!-1\/4!+……+1\/n!\/ int _tmain(int argc, _TCHAR* argv[]){ int fact(int n);int n;double total=0;cout<<"输入n:";cin>>n;for (int i=1;i<...

用C++程序求1+1+1\/2!+1\/3!+...+1\/n!
int fun (int f) \/\/计算f的阶乘 { if (f<=1)return 1;else return f*fun(f-1);} void main(){ double n = 0;double sum = 1;cin >> n;for (double i=1; i<=n; i++){ sum += 1\/fun(i);} printf ("%.10f\\n", sum);} ...

...n),返回值是n的阶乘, 调用函数fact计算1 + 1\/2! +...+ 1\/n...
include<stdio.h>int fact(int n){ if(n <= 1) return 1; return fact(n-1)*n;}int main(){ int i; int n; float sum = 0.0; scanf("%d", &n); for(i = 1; i <= n; ++i) { sum += 1.0f\/fact(i); } printf("%f\\n", sum); return 0;} ...

用c++语言求n的阶乘
1、打开vs6.0软件,准备一个后缀为cpp的文件,在c++文件中首先写入头文件,定义一个处理阶乘的函数,接着写一个空的main函数:2、接着是阶乘recv函数逻辑,该函数有一个形参n用来接收输入的数。n的阶乘是所有正整数的乘积,这里的处理是sum不断的用递归的方法乘以recv函数的输入数,每次相乘n的值都...

c++编程题e=1+1\/1!+1\/2!+1\/3!...直到最后一项的值小于10的-10次方...
1!是一的阶乘 像, 1!=1 2!=2*1 3!=3*2*1 n!=n(n-1)(n-2)* ... *1 (n为正整数)即n的阶乘等于1乘2乘3一直乘到n的积

C++中 "n!"是什么意思? 1!+2!+3!+4!=?怎么算
!代表阶乘 如:1!=1 2!=2*1=2 3!=3*2*1=6 4!=4*3*2*1=24 在C++中,代表数字阶乘迭代!和数学上的符号一样!

怎么用c++实现计算阶乘的算法呢?
一、算法分析:计算阶乘和分成两步:1 计算阶乘。 对于n的阶乘,从1累乘到n即可。2 每个阶乘相加。于是算法可以设计为,从1到20循环,计算每个数的阶乘,并累加。由于n!=(n-1)! *n, 所以每次计算阶乘,可以利用上次的结果,减少运算量。二、代码实现:include <stdio.h>int main(){long long ...

c++ 求n!的算法
include <iostream.h> int fun(int n);void main(){ int n;unsigned long s;cout<<"求阶乘:n!=1*2*3...*n"<<endl<<"请输入n:";cin>>n;cout<<n<<"!="<<fun(n)<<endl;} int fun( int n ){ if ( n > 1 )return ( n * fun( n - 1 ) );else return n;} ...

相似回答
大家正在搜