C语言计算1!+2!+…+10!程序改错

2025-05-17 01:48:59
推荐回答(2个)
回答1:

#include "stdafx.h"
#include 
long fact(int n);
main()
{
int i;
long sum=0;
for(i=1;i<11;i++)
{
sum+=fact(i);
}
printf("1!+2!+…-+10!=%ld\n",sum);
return 0;
}
long fact(int n)
{
long result=0;
if(n<0)
{
   printf("n<0,DataError!\n");
}
else if(n==0)
{
   result=1;
}
else
{
   result=fact(n-1)*n;
}
return result;
}

回答2:

#include
double fact(int n);
void main()
{
        int i;
        double sum=0;
        for(i=1;i<=10;i++)
                sum=sum+fact(i);
        printf("1!+2!+…-+10!=%f\n",sum);
}
double fact(int n)
{
        int i;
        double result = 1;
        for(i=1;i<=n;i++)
                result *= i;
        return result;
}