c语言如何求一个数的阶乘 5

 我来答
果果就是爱生活
高能答主

2020-07-03 · 专注生活教育知识分享
果果就是爱生活
采纳数:2071 获赞数:272220

向TA提问 私信TA
展开全部

n的阶乘就是从1到的累积,所以可以通过一个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

*/

扩展资料: 

return用法:

return返回一个数值的意思就是把return<表达式>后面表达式的值返回给调用他的函数。举个例子:

int sum(int i,int j)

{

return i+j;

printf("这个语句不会被执行,因为该子函数执行到上面的return语句就无条件结束了");

}

main()

{

int a=10,b=11,c;

c=sum(a,b);

printf("%d",c);

}

zyh1141298056
2012-04-14 · TA获得超过1308个赞
知道小有建树答主
回答量:500
采纳率:100%
帮助的人:591万
展开全部
求位数的话把这个数取10的对数就行了。至于求阶乘的话,如果n不是很大可以直接来算,当n比较大的时候可以用斯特林公式来求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
两个美丽的神话
2012-04-14 · 超过14用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:41.7万
展开全部
求阶乘的代码你在网上应该可以搜索得到,至于求一个数的阶乘的位数,可以用如下代码实现
#include"stdio.h"
#include"math.h"
void main()
{
int i,n,sum;
scanf("%d",&sum); //sum为一个数的阶乘
for(i=1;;i++)
{
n=pow(10,i);
if(sum<n)
{
printf("%d的位数是%d\n",sum,i);
break;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑丶雨
2016-07-29 · TA获得超过554个赞
知道小有建树答主
回答量:406
采纳率:80%
帮助的人:392万
展开全部
#include <stdio.h>

int main()
{
    long number = 10;  //number是几就计算几的阶乘;
    long sumber = 1;
    for(long i = 1; i <= number; ++i)
        sumber *= i;
    printf("%ld\n",sumber); 
    return 0;
}
追问
最好要自定义函数
追答
/*你也太懒了*/
#include <stdio.h>

long factorial(long n);
 
int main()
{
    long number = 10;  //number是几就计算几的阶乘;
    long sum = factorial(number);  //调用函数;
    printf("%ld\n",sum); 
    return 0;
}

long factorial(long n)  //你要的自定义函数;
{
    long sum = 1;
    for(long i = 1; i <= n; ++i)
        sum *= i;
    return sum;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
虚拟酱
2016-07-29 · TA获得超过299个赞
知道小有建树答主
回答量:312
采纳率:80%
帮助的人:190万
展开全部
望采纳
#include<stdio.h>
int fun(int num)
{
    int s;
    if(num==1)
    {
        return 1;
    }
    s=num*fun(num-1);
    return s;
}
int main()
{
    int s;
    int num;
    while(1)
    {
        printf("input a number:");
        scanf("%d",&num);
        getchar();
        s=fun(num);
        printf("%d\n",s);
     }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式