C语言结果

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:46:56
求1!+2!+……+n!(n<10)
谢谢!!!

#include<stdio.h>
#include<stdlib.h>

int factorial(int n){
int i;
if(n==0)
return 1;
else
return n*=factorial(n-1);

}

int main()
{
int sum=0,i,n;
printf("please input the n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=factorial(i);
}

printf("%d",sum);

system("pause");
}

简单高效:
#include <stdio.h>
int main()
{
int sum=0,tmp=1;
for(int i=1;i<10;i++)
{
tmp*=i;
sum+=tmp;
}
printf("%d",sum);
return 0;
}

这个结果要远超出整型的,应该用浮点型
#include<stdio.h>
void main()
{
float i,a=1,sum=0;
for(i=1;i<=10;i++)
{
a=a*i;
sum=sum+a;
}
printf("%f",sum)