c语言阶乘代码怎么写(c语言阶乘代码怎么写不用循环)

http://www.itjxue.com  2023-02-15 18:16  来源:未知  点击次数: 

阶乘c语言代码

方法如下:

/*This program can calculate the factorial of (int n).*/

#include stdio.h

int factorial(int n)

{

return (n == 1)?n:factorial(n-1)*n;//recursion.

}

int main(void)

{

int n,fac;

printf("Please input the value of n:");//initialize n.

scanf("%d",n);

fac = factorial(n)//variable fac is not necessary.

printf("The result is:%d\n",fac);? ? ?

return 0;

}

相关内容:

阶乘是定义在自然数范围里的(大多科学计算器只能计算 0~69 的阶乘),小数科学计算器没有阶乘功能,如 0.5!,0.65!,0.777!都是错误的。但是,有时候我们会将Gamma 函数定义为非整数的阶乘,因为当 x 是正整数 n 的时候,Gamma 函数的值是 n-1 的阶乘。

C语言中如何编程计算阶乘

常见的有两种:

递归版本:

int?Fac(int?n){

????if(n==0)?return?1;

????return?n*Fac(n-1);

}

还有一种是循环版:

int?ans=1;

????for(int?i=1;i=n;i++)?ans*=i;

测试方法:

#includestdio.h

int?Fac(int?n){

????if(n==0)?return?1;

????return?n*Fac(n-1);

}

int?main(){

????int?n;

????while(scanf("%d",n)!=EOF){

????????int?ans=1;

????????for(int?i=1;i=n;i++)?ans*=i;

????????printf("%d?%d\n",ans,Fac(n));

????}

????return?0;

}

有个值得注意的地方:阶乘时,数增大的很快,在n达到13时就会超过int的范围,此时可以用long long或是 __int64来存储更高精度的值,如果还想存储更高位的,需要用数组来模拟大数相乘。

C语言中阶乘怎么输?

1、不是直接输入n!,需要一定的算法才可以实现。具体方法是,首先打开编辑器,准备好空白的C语言文件:

2、在编辑器中输入代码,这里所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n。C语言中可利用循环解决,可以假设循环变量为 i,初值为 1,i 从 1 变化到 n;依次让 i 与 sum 相乘,并将乘积赋给 sum,最后输出sum的值就可以了:

3、在编辑器中运行程序,随意输入一个数,按下回车键,即可打印出阶乘的结果来:

C语言,求n阶乘的代码?

思路:所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可。

参考代码:

#include "stdio.h"

int main() {

int n,i,s=1;

scanf("%d",n);

for(i=1;i=n;i++)//for循环求累积

s=s*i;

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

return 0;

}

/*

运行结果:(例如求5的阶乘)

5

120

*/

从桌面打开下载好的编程软件,下图为visual C++的打开界面。

打开编程软件后,新建一个任务,点击文件,选择C++ source file, 放在自己喜欢的文件夹下面。

输入这段代码,记得代码编译前,先要定义变量。# include stdio.hvoid main (){?? ?int n ,f =1 ;?? ?printf ("input n :");?? ?scanf("%d\n",n);?? ??? ?for (;n0;n--)?? ??? ??? ?f=f*n;?? ??? ?printf("n!=%d\n",f);?? ??? ?}

点击如图的两个按钮,左边是complie是编译的意思 ,右边build 是连接的意思。

检查完,没有显示error的情况下,最后点击BuildExecute 运行软件。

最后一步运行软件后,Debug里面有个exe的可运行程序,就是N的阶乘程序了。

参考资料

百度经验.百度[引用时间2018-5-7]

(责任编辑:IT教学网)

更多

推荐其他营销文章