两个地方错
1、e=13;放for外面
e=13;
for(i=1;i<=n;i++)
{
e+=fact(i);
printf("%d\r\n",e);
}
2、e+=fact(n);要改成e+=fact(i);
e赋值放在循环外面
代码修改如下
#include <stdio.h>
double fact(int n);
int main()
{
int i,n,e=0;
printf("Enter:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
e+=fact(i);
}
printf("%d",e);
return 0;
}
double fact(int n)
{
int i;
double product=1;
for(i=1;i<=n;i++)
{
product*=i;
}
return product;
}