(C语言试题练习)用递归方式 求1——n之间的阶乘

(C语言试题练习)用递归方式 求1——n之间的阶乘

  • 数的阶乘 n的阶乘公式

阶乘乘积公式

阶乘递推关系公式阶乘公式

阶乘经常写成感叹号:N!。一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,如下所示。

0! = 1
1! = 1
2! = 2 x 1 = 2
3! = 3 x 2 x 1 = 6
4! = 4 x 3 x 2 x 1 = 24
5! = 5 x 4 x 3 x 2 x 1 = 120
例题
求7整数的阶乘 ?

给出的数据
n = 7

逐步计算
公式:n! = n x (n-1) x (n-2) x … x 1

int JieCheng(int a)
{
     
    int s;

    if (a < 0)
    {
     
        printf("此数没有阶乘");
    }
    else if (a == 0 || a == 1)
    {
     
        s = 1;                 //0和1的阶乘都是1
    }
    else
    {
     
        s = a * JieCheng(a - 1);    //这里采用递归的方式    从大数往小数乘   例5!=5*4*3*2*1

    }
    return s;
}
int main()
{
     
    int a, s;
    printf("请输入数\n");
    scanf_s("%d", &a);

    s = JieCheng(a);
    printf("该数的阶乘是%d\n", s);
}```

```c
请输入数
7
该数的阶乘是5040

你可能感兴趣的:(c语言)