BaysideLizard 发表于 2023-11-18 17:55:07

S1E34:递归

#include <stdio.h>
//鱼C论坛——BaysideLizard写于2023年11月16日

void recursion(void);
long long int fact(long long int);

int main()
{
    long long int num;

    recursion();

    printf("\n阶乘计算器(递归版)\n");
    printf("请输入一个正整数:");
    scanf("%d",&num);
    printf("%d的阶乘是:%d",num,fact(num));

    return 0;
}

void recursion(void)
{
    static int count = 10;

    printf("%dHi!\n",count);

    if(--count)
    {
      recursion();
    }
//注意:递归必须要有结束条件,否则程序将崩溃!
}

long long int fact(long long int num)
{
    long long int res;

    if(num > 0)
    {
      res = num * fact(num - 1);
    }
    else
    {
      res = 1;
    }

    return res;
}








运行结果:
10Hi!
9Hi!
8Hi!
7Hi!
6Hi!
5Hi!
4Hi!
3Hi!
2Hi!
1Hi!

阶乘计算器(递归版)
请输入一个正整数:5
5的阶乘是:120
Process returned 0 (0x0)   execution time : 1.301 s
Press any key to continue.








在FishC学C的第十七天
页: [1]
查看完整版本: S1E34:递归