当前位置:知识百科 > 正文

c语言函数整数阶乘

更新时间:2026-04-17 20:28 阅读量:133

c语言求阶乘的函数

阶乘:

阶乘是基斯顿-卡曼(Christian

年发明的运算符号,是数学术语.

C语言

C

语言中,使用循环语句可以很方便的求出阶乘的值,下面介绍一个很简单的阶乘例子.(因为网上多数是比较麻烦的方法)

【计算出"

①.!+

......

+

①.0!"的值是多少?】

#includestdio.h

int

main()

{

x;

long

j=1,sum=0;

for(x=1;x=10;x++)

j*=x;

sum+=j;

}

return

0;

Pascal中program

test;

varn:longint;

function

jc(n:longint):qword;

begin

if

n=0

then

jc:=1

else

jc:=n*jc(n-1)end;

readln

(n);

writeln

(jc(n))end.

C++

#includeiostream

using

namespace

std;

f(int

n)

e=1;

if(n0)

e=n*f(n-1);

coutn"!="eendl;

e;

f(m);

以上使用

标准

也可以利用积分求浮点数阶乘:

#includecstdio

#includecmath

double

s;

const

e=exp(1.0);

F(double

t)

pow(t,s)*pow(e,-t);

simpson(double

a,double

b)

asr(double

b,double

eps,double

A)

L=simpson(a,c),R=simpson(c,b);

eps)

asr(a,b,eps,simpson(a,b));

scanf("%lf",s);

C语言求阶乘

改为double.

#include

stdio.h

stdlib.h

if(n==0||n==1)

n*f(n-1);

n,k,i;

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

scanf("%d",k);

for(i=1;i=k;i++)

printf("第%d个数为:",i);

scanf("%d",n);

printf("%d!=%f\n",n,f(n));

我把你写的稍微改了一下,你看看.

C语言中,写函数,求一个整数的阶乘

如图

源代码:

#include?stdio.h

LONG?factorial(BYTE?n){//求n的阶乘,由于阶乘增长非常快,所以能求的n有限.除非用自定义大数据类型

LONG?fact=1,last;

if(n0)return?-1;//负数的阶乘不能这么算,返回-1表示错误

for(;?n1?;n--){

last=fact;//记录上次求得的结果

fact?*=?n;

if(fact?=?0){//正常来说fact必>0,否则一定发生了溢出.若此阶乘会发生溢出,也一定会有fact=0

return?-1;//如果值溢出则返回-1

return?fact;

int?main()

BYTE?n=0,count=0;

LONG?fact=1;

count++;

fact=factorial(n);

if(fact!=-1)//仅当未溢出时显示

printf("count=%d\n",count);//表示溢出