用C语言表示以下问题坐等

分别用for、while和do-while三种方式输出1!+2!+3!+…+n!的结果。用C语言。


#include <stdio.h>
int main()
{
    double flag = 1.0,sum=0;
    int i=1,t=1;
    int n;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        t *= i;
        sum += t;
    }
    printf("%f",sum);
    return 0;
}