c 语言程序:从n个数中取m个数的组合数 m<n要求n定义和调用fact(i)
展开全部
#include "stdio.h"
int fact(int i){
if(i==1)
return 1;
return i*fact(i-1);
}
int main(void){
int n,m;
while(1){
printf("Input n & m(int 0<m<n<13)...\n");
if(scanf("%d%d",&n,&m) && m>0 && n>m && n<13)
break;
printf("Error, redo: ");
}
printf("The result is %d\n",fact(n)/fact(n-m));
return 0;
}
追问
谢谢!!!但是才开始学c,才学了基本的for循环语句,所以要更简单的,像过程中0<m<n13就不懂是什么意思
追答
提示都看不懂啊?题目不是要求m0吧,<13是说当m或n大于13后时下的大多数C平台在int类型下就处理不了了,所以作了输入限制。提示可以不管它们呀……
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询