用C++求a!+b!+c!(“!”表示阶乘)的值?急!!!

2024-11-30 12:41:42
推荐回答(5个)
回答1:

#include
using namespace std;
int main()
{
int a,b,c;
int f(int );
cout<<"请输入a b c ,用空格隔开:";
cin>>a>>b>>c;
int s = f(a) + f(b) + f(c);
cout< return 0;
}

int f(int a)
{
int num = 1;
for(int i=1;i<=a;i++)
{
num *= i;
}
return num;
}

测试过,结果对了。代码没什么别扭的地方,有哪里不懂的话可以问我,呵呵

回答2:

本人亲自调试运行通过,有问题再联系
#include
using namespace std;
int main()
{
int a,b,c,i,A,B,C;
int total;

cout<<"请输入a,b,c的值,以空格键隔开,如1 2 3:\n";
cin>>a>>b>>c;

A=B=C=1;
for(i=1;i<=a;i++)
A*=i;
for(i=1;i<=b;i++)
B*=i;
for(i=1;i<=c;i++)
C*=i;

total=A+B+C;

cout< return 0;
}

回答3:

#include
long f1(int n);
void main()
{
int a,b,c;
long s;
cout<<"请输入a,b,c的值,以空格键隔开";
cin>>a>>b>>c;
s=f1(a)+f1(b)+f1(c);
cout<}
long f1(int n)
{
long f;
if(n>1)
f=n*f1(n-1);
else
f=1;
return f;
}

这个是用递归方法求的,运行速度还可以,程序也调试过了。

回答4:

自己写一个吧。已经编译运行无误。
#include
using namespace std;
unsigned factorial(int n)//计算n的阶乘
{
int i=n;
unsigned result=1;
do
{
result*=i;
} while(--i);

return result;
}

int main()
{
unsigned a=factorial(2),b=factorial(3),c=factorial(4);
//a=2,b=6,c=24
cout< return 0;
}

回答5:

#include
using namespace std;
int fac(int);
int main()
{
int a,b,c;
cout<<"input a,b,c"< cin>>a>>b>>c;
cout<<"a!+b!+c!="< return 0;
}
int fac(int n)//阶乘函数
{int i,sum=1;
for(i=1;i<=n;i++)
{sum=sum*i;}
return sum;
}
希望对你有所帮助 我运行了可以运行