中易网

C语言入门题目,计算:Cmn=N!/((N-M)!M!)不会打是排列选择的n选m怎么编写程序?我写的怎么不对了?(C语言入门)

答案:3  悬赏:20  
解决时间 2021-02-06 03:54
#include
void main()
{ int fun(int n);

int m,n,d,b,c,e,a;float s;

printf ("先输入m,后输入n,用逗号隔开");
scanf("%d,%d",&m,&n);e=n-m;
if(m<0||n<0||m>n)
printf("输入错误\n");
else{ a=fun(m);b=fun(e);c=fun(m);d=b*c;
s=a/d;
printf("值为:%f\n",s);}
}

int fun(int n)
{int i,h;
h=1;
for (i=1;i<=n;i++)
h=h*i;

return(h);}
最佳答案
没读懂你这句“不会打是排列选择的n选m怎么编写程序”,但是你这个程序是对的,有个小问题就是你把 else{ a=fun(m);b=fun(e);c=fun(m);d=b*c;里面的fun(n)改过来就对了
全部回答
int变量范围太小,溢出了
#include void main() { int fun(int n); int m,n,d,b,c,e,a;float s; printf ("先输入m,后输入n,用空格隔开"); scanf("%d",&m); scanf("%d",&n);e=n-m; if(m<0||n<0||m>n) printf("输入错误\n"); else{ a=fun(n);b=fun(e);c=fun(m);d=b*c; s=a/d; printf("值为:%f\n",s);} } int fun(int n) {int i,h; h=1; for (i=1;i<=n;i++) h=h*i; return(h);}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
百雀羚那一款是适合二十岁人然后皮肤油,长痘
南京嘉玺文化传媒有限公司是做是做什么的?
足彩任选九场怎么算奖金的
小车撞到人,是司机承担责任还是车主呢
珲春6:40始发G8128次列车到长春九台停不停
爱在身边 姜育恒
显示器颜色偏黄,该如何调节修正
脱毛膏可以二次使用吗?
汉中的春节 作文800字 急!!!!!!!!!
all day and night还是all day and all night
北方能种植樱桃树(果实比较大的那种)吗?是
20以内进位加法表和退位减法表怎么打印
取名,哪个字和歌组合最好?
win7的ATI-ccc控制台
512和1G的内存条放在一起能用吗?
推荐资讯
不濒临南极洲的大洋是什么
汉名自选店我想知道这个在什么地方
卡沃利手表一般是什么价格?
求2014届全国初中物理知识竞赛通知(时间与报
宝康大药房这个地址在什么地方,我要处理点事
2016年44岁买社保迟了没有?
我的mate 9pro屏幕底部冒出虚拟键,怎么消除
小时候玩过一个玩具,拴着一个绳子 放开玩具
额头上总是有疙疙瘩瘩的小痘痘,不红也不起脓
天涯农贸市场地址在哪,我要去那里办事
发动机没电后靠别的车搭着之后发动机怠速不稳
单招好还是高考好?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?