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)采用程序改错题的的编码风格对源代码做注释 展开
(2)在main函数中,从键盘输入m与n,调用函数pq计算。
(3)在main函数中,输入m与n之前要有提示,并检查输入数据的合理性(m≥n≥O),对于不合理的输入,应输出出错信息,不再进行计算。
(4)采用程序改错题的的编码风格对源代码做注释 展开
2个回答
展开全部
#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));
}
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));
}
展开全部
#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");
}
}
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");
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询