c语言中调用函数求阶乘

 

#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;
}

 

 

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

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

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

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

定义一

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);
}

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

#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;
}

代码如上,万望采纳。