C语言怎么自动输出输出样例 3!+4!+5!+6!+7!

为什么我写的这个不对啊

问题描述
请输出如下所示的阶乘公式 3!+4!+5!+6!+7! 这个公式表示从3到7的阶乘之和。现在给定两个整数a和b(0

输入
输入为一行,由两个整数a和b构成,之间由一个空格分开。已经知道0

输出
输出a到b的阶乘之和,公式中间无任何空格。公式最后加一个换行符。

输入样列
3 7

输出样例
3!+4!+5!+6!+7!

img

img

int main()
{
    int a,b,i;
    scanf("%d%d",&a,&b);
    for(i=a;i<b;i++)
    {
        printf("%d!+",i);
    }
    print("%d!",b);
}
 

int main()
{
      int m,n;
      scanf("%d%d",&m,&n);
      long long sum = 0,s = 1;
      for(i=1;i<=n;i++)
      {
            s *= i;
            if(i>=m)
                sum += s;
      }
      printf("%lld",sum);
}

供参考:

#include <stdio.h>

int fun(int a) //求阶乘
{
    int result;
    if(a<=1)
        result = 1;
    else
    {
        result = a*fun(a-1);
    }
    return result;
}
int main(){
    int a,b,sum=0;
    scanf("%d %d",&a,&b);
    for(int i=a;i<b;i++)
        printf("%d!+",i);
    for(int i=a;i<=b;i++)
        sum=sum+fun(i);
    printf("%d!=%d\n",b,sum);
    return 0;
}

截图:

img