编写一个函数实现n的阶乘,并由主函数调用,输出1到8的阶乘

编写一个函数实现n的阶乘,并由主函数调用,输出1到8的阶乘,第1张

#include <stdioh>

#include <stdlibh>

int Foctorial(int num)

{

    int result = 1;

    int i;

    for(i = 1; i <= num; i++)

    {

        result = i;

    }

    return result;

}

int main(void)

{

    int num = 8;

    int i;

    for(i = 1; i <= num; i++)

    {

        printf("%d的阶乘为:%d\n",i,Foctorial(i));

    }

    return 0;

}

思路:递归求阶乘函数,如果输入的参数等于1则返回1,否则返回n乘以该函数下次递归。

参考代码:

#include<stdioh>

int fun(int n)

{

if(n==1||n==0) return 1;//如果参数是0或者1返回1

return nfun(n-1);//否则返回n和下次递归的积

}

int main()

{

int n;

scanf("%d",&n);

printf("%d\n",fun(n));

return 0;

}

/

5

120

/

递归算法的原理

递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写

递归能使程序变得简洁和清晰。

#include "stdioh"

#define N 5/定义符号常量N,代表数字5/

long function(int i)

{ /定义局部静态变量f并赋初值1/

static f = 1;

/求形参i的阶乘值并存放在f中/

f = i;

return f;

}

void main( )

{

long product;

int i;

for(i=1; i<=N; i++)

{

/调用函数function( )求阶乘值,并赋值给product /

product = function(i);

/输出/

printf("%ld\n", product);

}

}

以下是使用 for 循环语句编写 n 的阶乘的 C 语言代码实现:

```c

#include <stdioh>

int main() {

int n, factorial = 1;

printf("请输入一个整数:");

scanf("%d", &n);

for (int i = 1; i <= n; i++) {

factorial = i;

}

printf("%d 的阶乘为:%d

", n, factorial);

return 0;

}

```

代码解释:

1 在 `main` 函数中定义变量 `n` 和 `factorial`,分别表示用户输入的数和阶乘结果。

2 通过 `printf` 和 `scanf` 函数获取用户输入的整数。

3 循环计算 1 至 `n` 之间的数的乘积,即为 `factorial` 的值。

4 所有数的乘积计算完之后,输出 `factorial` 即可。

运行结果:

```

请输入一个整数:5

5 的阶乘为:120

```

可以看到,这段 C 语言代码输出了 5 的阶乘,结果为 120。

以上就是关于编写一个函数实现n的阶乘,并由主函数调用,输出1到8的阶乘全部的内容,包括:编写一个函数实现n的阶乘,并由主函数调用,输出1到8的阶乘、求阶乘n!的递归算法、编写求N阶乘的函数。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10218930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存