用c语言编写一道程序题

编写一个fac函数求一个数n的阶乘。其函数原型为long fac(int n),然后调用该函数求1!+2!+3!+4!+5!+6!。

第1个回答  2013-05-04
#include<stdio.h>
long fac(int n)
{
if(n==1)
{
return 1;
}
else
{
return n*fac(n-1);
}
}
int main()
{
int n;
printf("Please iuput you number:\n");
scanf("%d",&n);

printf("%d!=%d\n",n,fac(n));

return 0;
}
第2个回答  2013-05-04
long fac(int n)
{
if ( n >0)
{
long cont = 1;
for( int i = 1; i <= n;i++)
{
cont = i * cont;
}
return cont;
}
return 0;
}
#include<iosteam.h>
int main()
{
int num = 0;
for ( int i =1; i<=6; i++)
num += fac(i);
cout << num;
return 0;
}追问

num += fac(i);
这里FAC(为什么是i呢)

追答

因为要使用6次fac函数,而每次的n都不一样,所以用i代替n,从1到6变化。

本回答被提问者采纳
第3个回答  2013-05-04
先用递归求阶乘在用循环把每个数的阶乘加起来
相似回答