C语言编程题 计算并输出 m!/[(m-n)!n!] 5

(1)编制一个函数pq(n),返回n!值。(2)在main函数中,从键盘输入m与n,调用函数pq计算。(3)在main函数中,输入m与n之前要有提示,并检查输入数据的合理... (1)编制一个函数pq(n),返回n!值。
(2)在main函数中,从键盘输入m与n,调用函数pq计算。
(3)在main函数中,输入m与n之前要有提示,并检查输入数据的合理性(m≥n≥O),对于不合理的输入,应输出出错信息,不再进行计算。
(4)采用程序改错题的的编码风格对源代码做注释
展开
 我来答
ccliangbo
2010-04-13 · 超过15用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:39.5万
展开全部
#include <stdio.h>
int fact(int n);
int c(int m,int n);
/*主函数*/
main()
{
int m,n;
printf("please enter m,n m>n");
scanf("%d%d",&m,&n);
if (m>=n && n>=0)
printf("%d",c(m,n));
else
printf("wrong input!");
}
/*求阶乘*/
int fact(int n)
{
if (n==0)
return 1;
if (n==1)
return 1;
return n*fact(n-1);
}
/*求组合数*/
int c(int m,int n)
{
return fact(m)/(fact(m-n)*fact(n));
}
godson126
推荐于2017-09-03 · TA获得超过194个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
int pq(int n)//计算n的阶乘
{
int temp=1;
while(n>=1)
{
temp=temp*n;
n--;
}
return temp;
}
void main()
{
int m,n;
printf("please input m:");
scanf("%d",&m);
printf("please input n:");
scanf("%d",&n);
if(m>=n&&n>=0)//判断输入格式,并进行计算
{
printf("m!/[(m-n)!n!]=%d\n",pq(m)/(pq(m-n)*pq(n)));
}
else//出错提示
{
printf("error input!\n");
}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式