c语言编程问题,计算出从n 个不同元素中取出m 个元素(m≤n)的组合数。编写程序

根据下列公式可以计算出从n个不同元素中取出m个元素(m≤n)的组合数。编写程序,输入2个正整数m和n(m≤n),计算并输出组合数。要求定义和调... 根据下列公式可以计算出从n 个不同元素中取出m 个元素(m≤n)的组合数。编写程序,输入2 个正整数m 和n(m≤n),计算并输出组合数。要求定义和调用函数fact(n)计算n!,函数类型为double。
公式为:n!/(m!*(m-n)!)
【输入形式】
从键盘输入正整数m和正整数n。
【输入输出样例1】(下划线部分表示输入)
Enter m: 5
Enter n: 12
result=792

下面是我写的... 但错误一大堆,是刚预习的,很多东西还不会用,请高手帮忙改改。或者直接编一个新的也可以
#include<stdio.h>
int main()
{
double x,y,m,n;
printf("Enter m: ");
scanf("%lf",&m);
printf("Enter n: ");
scanf("%lf",&n);
m=fact(m);
n=fact(n);
y=m/n;
x=y/(m+n);
printf("result=%f",x);
return 0;
}

double fact(double s)
{
double i,a;
for (i=1;i<=s;i++)
a=a*i;
return a;
}
展开
 我来答
辣椒炒菜椒
2012-04-01 · TA获得超过159个赞
知道答主
回答量:102
采纳率:0%
帮助的人:96.5万
展开全部
#include<stdio.h>
double fact(double s)
{
double i,a=1;
for (i=1;i<=s;i++)
a=a*i;
return a;
}
int main()
{
double x,y,m,n;
printf("Enter m: ");
scanf("%lf",&m);
printf("Enter n: ");
scanf("%lf",&n);
y=fact(n-m);
m=fact(m);
n=fact(n);
x=n/(y*m);
printf("result=%.0f",x);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式