c语言求C(n.m)当输入n=200,m=1时出现错误,怎么改让他求得大些 - 爱问答

(爱问答)

c语言求C(n.m)当输入n=200,m=1时出现错误,怎么改让他求得大些

#include<stdio.h>

double fact(double k);

int main(void)

{

double n,m;

printf("Enter n,m(n>m)");

scanf("%lf%lf",&n,&m);

if(n<m)

printf("EOOr");

else{

printf("C(%f qu %f)=%f",n,m,fact(n)/(fact(m)*fact(n-m)));

}

return 0;

}

double fact(double k){

double result=1,i;

for(i=1;i<=k;i++){

result=result*i;

}

return result;

}


这个涉及一个基本概念,你的函数定义

double fact(double k)

而double的范围为

-1.79E+308 ~ +1.79E+308。

200!的值为7.89 E+374

已超出double能表示的范围了

你若要更高的精度范围,你必须用大数运算了,这个有点复杂,可能超出你理解的范围了

相关标签:c语言

下一篇:autodeskdesignreview2012已卸载,怎么清除它在注册表的信息

上一篇:更换b75主板

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?