关于#c语言#的问题:解题思路和怎样去运行已知m=5,用函数的递归调用编程计算(m+n)

解题思路和怎样去运行
已知m=5,n=2,用函数的递归调用编程计算(m+n)!

你可以参考一下,希望采纳

#include <stdio.h>

int fun(int a)
{
    if (a == 1) {
        return 1;
    }
    else {
        return a * fun(a - 1);
    }
}

int main()
{
    int m = 5, n = 2;
    printf("(5+2)!的结果为:%d\n", fun(m + n));

    return 0;
}

运行结果:

img

img


#include<stdio.h>
int fun(int s)
{
    if (s == 1)
        return 1;
    else
        return (s)*fun(s - 1);
}
int main()
{
    int n, m,s;
    printf("输入 a b,用空格隔开:");
    scanf_s("%d %d", &n,&m);
    s = m + n;
    printf("(m+n)!=%d", fun(s));
    return 0;
}

img