n!,就是的阶乘,用c语言怎么做?

如题所述

    C语言中对于阶乘通常采用循环的方式进行计算

    循环的方式有while循环,for循环等

    这里采用for循环进行举例,程序代码如下:

    int i,sum=1;

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

         {

            sum=sum*i;

         }

4.上述的变量sum在循环结束后得到的结果即为n!,不过这是在n比较小的情况下,如果需要计算更大的n的阶乘,那么只需将变量sum的类型进行相应调整即可

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-17
1.
C语言中对于阶乘通常采用循环的方式进行计算
2.
循环的方式有while循环,for循环等
3.
这里采用for循环进行举例,程序代码如下:
int
i,sum=1;

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

{

sum=sum*i;

}
4.上述的变量sum在循环结束后得到的结果即为n!,不过这是在n比较小的情况下,如果需要计算更大的n的阶乘,那么只需将变量sum的类型进行相应调整即可
第2个回答  2008-04-07
提醒一点:注意你用的类型的大小,比如int32位.
基本15!就已经很大了.如果用int或者long long可以表示,就直接连乘,不需要写什么函数调用

如果结果超过了64位,可以用高精度做.自己模拟计算机运算乘法,用字符串存储.
第3个回答  推荐于2018-03-14
递归
int compute( int x )
{
if( x == 0)
return 1;
else
return x*compute( x - 1 );
}

这个是最简单的方式,但是效率未必高,你可以用循环来代替。本回答被提问者和网友采纳
第4个回答  2008-04-07
1.递归方法
int fun(int n)
{
if(n>1)
return n*fun(n-1);
else if(n ==1)
return 1;
}
void main()
{
int n = 10;
int sum = fun(n);
}

2.用循环
void main()
{
int sum = 1;
int i;
int n = 10;
for(i = 1; i <= n; i++)
sum *= i;
}
相似回答