c语言编程 输入m,n,求m,n之间的阶乘和m!+(m+1)!+...+n! 要先判断m,n的大小

编写子函数,主调和被调函数的参数以值传递的方式完成... 编写子函数,主调和被调函数的参数以值传递的方式完成 展开
 我来答
zhuxh2011
2012-03-17 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:124万
展开全部
// 此代码编译成功, 运行也正确.

int GetFactorial( int i ) //得到 m!
{
if( i == 1 ){
return i;
}
return i * GetFactorial(i-1);
}

int GetSum( int min, int max) // 得到 m! + (m+1)! + (m+2)!+ .... n!
{
if( min == max ){
return GetFactorial( min );;
}
int sum = GetFactorial( min );
printf( "min = %d, max = %d, sum = [%d] ", min, max, sum );
return sum + GetSum( min +1, max );
}

int main(int argc, char **argv )
{
int m = 0; int n = 0;
int FactorialSum = 0;
printf(" input :m\n" );
scanf("%d", &m);
getchar();
printf(" input :n\n" );
scanf("%d", &n);
getchar();
if( m <= 0 || n <= 0 ){
printf(" error, m = %d, n = %d", m, n );
return -1;
}

if( m > n ){ // exchage; // 交换 m 为最小的.
m=m^n;
n=m^n;
m=m^n;
}
FactorialSum = GetSum (m, n);
printf(" FactorialSum = %d", FactorialSum );
return 0;
}
不明人001
2012-03-17
知道答主
回答量:47
采纳率:0%
帮助的人:13.3万
展开全部
#include"iostream"
#include"math.h"
using namespace std;
int N(int x) // 求阶乘
{
long int i;
for(i=x-1;i>=1;i--)
x=x*i;
return x;
}
int main()
{

long int t,n,m;
long int l,X=0;
int N(int);
cout<<"shuru m,n:"<<endl;
cin>>m;
cin>>n;
if(m>n) //交换 m ,n
{
t=n;n=m;m=t;
}
for(l=m;l<=n;l++)
{
X=X+N(l);
}
cout<<X<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苏晓法国
2012-03-17 · TA获得超过293个赞
知道小有建树答主
回答量:410
采纳率:0%
帮助的人:118万
展开全部
嗯,不好意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式