猫°
2021-06-03 16:42
采纳率: 50%
浏览 76

c语言中调用函数求阶乘

 

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳
    #include <stdio.h>
    int f(int n){
        if(n==1)
            return 1;
        else
            return n*f(n-1);
    }
    int main()
    {
        int i,n,m;
        float j;
        scanf("%d %d",&m,&n);
        j=f(m)*1.0/f(n)*f(m-n);
        printf("%f",j);
    
        return 0;
    }
    
    

     

     

    已采纳该答案
    1 打赏 评论
  • CSDN专家-link 2021-06-03 16:43

    定义一

    int f(int num)
    {
        if (num == 0) //基本情况返回1;
            return 1;
        else
            return num * f(num - 1);
    }
    
    void main()
    {
        int n, m;
        scanf_s("%d %d", &n, &m);
        double d = f(m)*1.0 / (f(n)*f(n - m));
        printf("结果为:%lf", d);
    }

    个阶乘函数就可以了,相当于三个阶乘计算

    打赏 评论
  • 答题大神 2021-06-03 16:51
    #include <stdio.h>
    double jiecheng(int m) {
    	double sum=1;
    	for(int i=1; i<=m; i++) {
    		sum=sum*i;
    	}
    	return sum;
    }
    int main() {
    	int m,n;
    	double div=0;
    	printf("请输入两个数:");
    	scanf("%d %d",&m,&n);
    	div=jiecheng(m)/(jiecheng(n)*jiecheng(m-n));
    	printf("div=%.2lf",div);
    	return 0;
    }

    代码如上,万望采纳。

    打赏 评论
  • 有问必答小助手 2021-06-04 10:24

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    打赏 评论

相关推荐 更多相似问题