用c语言如何算1!+3!+5!

如题所述

#include<stdio.h>

long fac(int m)
{
long fac = 1;
int i;

for(i=1; i<=m; i++)
{
fac *= i;
}
return fac;

}
int main()
{

int n, j;
long fac_sum=0;
printf("输入要计算到的阶乘数n:");
scanf("%d", &n);
for(j=1; j<=n;)
{
fac_sum += fac(j);
j += 2;
}

printf("%ld", fac_sum);

return 0;
}
这个程序是可以求不止5的奇数的阶乘和的,只要不过long的界就好
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-12
int getre(void)
{
int tem,sum=0,i,j;
for(i=0;i<=5;i++)
{
if(i%2==1)
{
tem = 1;
for(j=1;j<=i;j++)
tem = tem*j;//!运算
sum = sum + tem;//累加
}
}
return sum;
}本回答被提问者和网友采纳
第2个回答  2012-03-12
#include<stdio.h>
int js(int in_int)
{
if (in_int==1)
return in_int;
else
return(js(in_int-1)*in_int);
}

void main()
{
int i,j;
double sum=0;
for(j=1;j<3;j++)
{
i=2*j-1;
sum=sum+js(i);
}
printf("1!+3!+5!=%.0f\n",sum);
}
第3个回答  推荐于2018-03-13
int main()
{
int a = 1;
int b = 3;
int c = 5;
int sum = 0;
sum = factorial(a);
sum = sum + factorial(b);
sum = sum + factorial(c);
return 0;
}
int factorial(int n)
{
int val = 1;
for(;n>0;n--)
{
val = val * n;
}
return sum
}
相似回答