定义一个求阶乘的函数,然后将改函数带入式子中需要求阶乘的地方即可。
求阶乘是一个典型的利用递归法的案例。
int jiecheng(int N){ int res = N; if(N > 1) res *= jiecheng(N - 1); return res;}
#include
int Fabricate(int m,int n);
int multi(int m,int n);
void main()
{
int m,n,answer;
printf("输入m(按q退出):");
while(scanf("%d",&m))
{
printf("输入n:");
scanf("%d",&n);
if(n!=0&&m!=0)//判断m,n是否为0
{
if(m>n) //自动将大数设置为m,小数设置为n
printf( "%d
", Fabricate(m,n));
else
printf( "%d
", Fabricate(n,m));
printf("输入m(按q退出):");
}
else
printf("错误!重新输入,输入m:");
}
}
int Fabricate(int m,int n)
{
int sum_m=1,sum_n=1,sum_mn,sum;
int i=m,j=n;
for(int i=m;i>0;i--)//求m的阶乘
sum_m*=i;
for(int j=0;j>0;j--)//求n的阶乘
sum_n*=j;
sum_mn=multi(m,n);
return (sum_m/sum_n)*sum_mn;
}
int multi(int m,int n)
{
int sum=1;
int k=m-n;
while(k>0)
sum*=k--;
return sum;
}
用C语言输出m!\/(m-n)!n! 要求是C语言,不是C++
a=b=c=1;int result;printf("请输入两个正整数m和n,要求m大于n :\\n");scanf("%d%d",&m,&n);while(m<n){ printf("输入的数据不合理,请重新输入:\\n");scanf("%d%d",&m,&n);} e=m-n; \/\/用e来存储m和n的差值 while(m>1){ a=a*m; \/\/用a来存m的阶乘 m=m-1...
C语言编程题 计算并输出 m!\/[(m-n)!n!]?
include<stdio.h> int fun(int a,int b){int i,f=1;for(i=a;i<=b;i++)f*=i;return f;} int main(){ int m,n,f;scanf("%d%d",&m,&n);if(m<n)f=0;else {if(n>m-n)n=m-n;f=fun(m-n+1,m)\/fun(1,n);} printf("%d\\n",f);return 0;} ...
C语言编程题 计算并输出 m!\/[(m-n)!n!]
int c(int m,int n){ return fact(m)\/(fact(m-n)*fact(n));}
c语言编程 2.计算并输出 m!\/(m-n)!n!
int i,sum=1;for(i=1;i<=m;i++)sum=sum*i;return sum;} main(){ int m,n;float x;printf("input m,n(m>n)");scanf("%d %d",&m,&n);if(m<0 || n<0 || m<n ){ printf("data error! ");return;} else{ x=(float)func(m)\/(func(n)*func(m-n));printf("re...
C语言中,输入m,n 计算m!和n! 请问:计算m!和n! 是神马?
m!和N!都是阶乘,m!=1*2*3***...***m 例如:5!=1*2*3*4*5 C语言程序:main(){int i,m,n;long int sum1=1,sum2=1;printf("input m n:\\n");scanf("%d%d",&m,&n);for(i=1;i<=m;i++)sum1=sum1*i;for(i=1;i<=n;i++)sum2=sum2*i;printf("m=%ld,n=%...
C语言中M!是什么意思?
详情请查看视频回答
在C语言中,m!=0这个m!代表的是什么啊?
不是(m!) = 0 而是 m (!=) 0 != 就是”不等于” 判断 判断m是不是 不等于 0
c语言 printf(“k=%d,m=%d”,m,n,k)这种怎么输出
这个就是直接输出整型变量m,n,k的值,屏幕上应该显示:k=一个整数,m=一个整数,k=一个整数,这些整数分别是变量m,n,k的值
如何用C语言编辑该题 输入正整数m和 n,求m!和n!
include <stdio.h> long func(int x){ if (x < 2) return 1;return (x*func(x-1));} void main(){ int m,n;printf("input m:");scanf("%d", &m);printf("input n:");scanf("%d", &n);printf("!m = %ld\\n", func(m));printf("!n = %ld\\n", func(n));} ...
c语言中, n!\/ m!表示什么?
大写字母C,下标n,上标m,表示从n个元素中取出m个元素的不同的方法数.如从5个人中选2人去开会,不同的选法有C(5,2)=10种。C(n,m)的计算方法是C(n,m)=n!\/[m!(n-m)!]=n*(n-1)*...*(n-m+1)\/[1*2*...*m],如C(5,2)=[5*4]\/[1*2]=10。