C语言 编程 用函数计算 m!/[n!*(n-m)!]

可以用阶乘函数,那个函数我不会用。也可以用for循环... 可以用阶乘函数,那个函数我不会用。
也可以用for循环
展开
 我来答
刺友互
高粉答主

2019-06-17 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:72.9万
展开全部

1、从桌面打开下载好的编程软件。

2、打开编程软件后,新建一个任务,点击文件,选择C++ source file, 放在自己喜欢的文件夹下面。

3、输入这段代码,记得代码编译前,先要定义变量。

4、点击如图的两个按钮,左边是complie是编译的意思 ,右边build 是连接的意思。

5、检查完,没有显示error的情况下,最后点击BuildExecute 运行软件。

6、最后一步运行软件后,Debug里面有个exe的可运行程序,就是N的阶乘程序了。

gufengdanxing
推荐于2018-03-12 · TA获得超过307个赞
知道答主
回答量:75
采纳率:100%
帮助的人:64.7万
展开全部
#include <stdio.h>

int f(int m)//这个就是阶乘函数
{
if(m==1||m==0)
return 1;
else
return m*f(m-1);
}
void main()
{
int m,n,result=0;
printf("请输入m n 的值\n");
scanf("%d%d",&m,&n);
if(n<m)
{
printf("输入有误!\n");
}
else
{
result=f(m)/(f(n)*f(n-m));
}
printf("计算结果:%d\n",result);
}
/*由于有阶乘(n-m)!,分析知道:n>=m,故m!/n!肯定为0,因为符号“/"是取整,要么就是wo
理解有误,或者你表达的不够清楚,不过知道怎么做就好了,有问题可以Hi我,呵呵*/
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0e9226ea8
2011-12-28
知道答主
回答量:7
采纳率:0%
帮助的人:9.1万
展开全部
#include <stdio.h>
#include <math.h>

int main(){
int n,m,n1,m1,nm,result;
printf("Input n and m:\n");
scanf("%d,%d",&n,&m);
n1=times(n);
m1=times(m);
nm=times(n-m);
result=n1/(m1*nm);
printf("n = %d\n",n);
printf("m = %d\n",m);
printf("Result = %d\n",result);
return 0;
}

int times(int n) {
int times=1,i;
for (i=1;i<=n;i++){
times*=i;
}
return times;
}

运行结果如下:
Input n and m:
5,2
n = 5
m = 2
Result = 10

计算的是n!/[m!*(n-m)!]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘至白葬不情必0T
2011-12-28 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
没有现成的阶乘函数,阶乘函数也要你自己定。

#include "stdio.h"

unsigned long jc(unsigned long n)
{
unsigned long t=1;
for(unsigned i=2;i<=n;i++)
t*=i;
return t;
}

unsigned long f(unsigned long n,unsigned long m)
{
return jc(n)/jc(m)/jc(n-m);
}

void main()
{
unsigned long n,m;
scanf("%ld%ld",&n,&m);
printf("%ld\n",f(n,m));
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XIaOMoMo__
2011-12-28 · TA获得超过141个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:72.3万
展开全部
// recursive.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>

double Recursive(int x) ;

int _tmain(int argc, _TCHAR* argv[])
{
int m, n ;
m = 2 ;
n = 5 ;
double Result = Recursive(m) / (Recursive(n) * Recursive(n - m)) ;
printf("result is %lf\n", Result) ;

system("pause") ;
return 0;
}

double Recursive(int x)
{
if (x == 0)
{
return 1 ;
}
else
{
return x * Recursive(x - 1) ;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式