思路:写一个函数计算阶乘,在main里面循环计算到第10个加在一起输出即可
注意点:数据类型
源代码:
#include
#include
long factorial(int n)
{
int i;
long f;
f = 1L;
for (i = 1; i <= n; i++)
f *= i;
return f;
}
int main()
{
int i;
long sum;
sum = 0L;
for (i = 1; i <= 10; i++)
sum += factorial(i);
printf("1! + 2! + .. + 10! = %ld\n", sum );
return 0;
}
运行结果:
$ ./test
1! + 2! + .. + 10! = 4037913
希望对你有所帮助;)
main()
{
long sum,k;
int i,j;
sum=0;
for(i=1;i<=10;i++)
{
for(j=1,k=1;j<=i;j++)
{ k*=j; }
sum+=k;
}
printf("%ld\n",sum);
}
int sum=0;
for ( int i=1; i<=10; i++)
{
for( int j=1; j<=i; j++ )
{
sum+=j;
}
}
printf("%d\n", sum );
//只写函数
double sum(int n)
{
if (n < 0 || n > 49)
return -1;
double fact[50];
int i;
fact[0] = 1;
for(i = 1; i < 50; i ++)
fact[i] = fact[i-1]*(i+1);
double sum = 0;
for (i = 0; i < n; i ++)
sum += fact[i];
return sum;
}