求一题C++程序的解答

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:31:48
求a!+b!+c!的值,用一个函数fac(n)求n!。a,b,c的值由主函数输入,最终得到的值在主函数中输出。

请测试后给出正确的题解。(限用C++求)

楼上的程序不错,用的是递归,简洁明了
这个方法笨一些,对初学者更好理解些
#include <iostream.h>

int fac(int n) //此函数为求阶乘的函数
{
int i,P=1;
if (n == 0 || n==1) //若n是0或1,结果返回1
{
return P;
}
else if(n>=1)
for(i=2;i<=n;i++) //否则,从2乘到n,就是结果
{
P=i*P;
}
else
{
cout<<"不能为负数!"<<endl;
return NULL;
}
return P;
}

int main()
{
int a,b,c;
cout<<"输入a,b,c(用逗号分开):"<<endl;
cin>>a>>",">>b>>",">>c;
cout<<"a!+b!+c! = "<<fac(a)+fac(b)+fac(c)<<endl;
return 0;
}

long fun(int n)
{
long temp=1;
for(int i=1;i<=n;++i)
temp*=i;
return temp;
}

int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<(fun(a)+fun(b)+fun(c))<<endl;
}

int fac