C语言一个算组合数的程序#includelong j_ch(long a){long x,i;for(x=1,i=1;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 05:21:50
C语言一个算组合数的程序#includelong j_ch(long a){long x,i;for(x=1,i=1;i

C语言一个算组合数的程序#includelong j_ch(long a){long x,i;for(x=1,i=1;i
C语言一个算组合数的程序
#include
long j_ch(long a)
{
long x,i;
for(x=1,i=1;i

C语言一个算组合数的程序#includelong j_ch(long a){long x,i;for(x=1,i=1;i
这个程序定义的long整型的范围总是和int型的范围一样,导致稍微输入大点的数时,阶乘结果就超出了范围,本来long整型的范围是很大很大的,为什么现在很小我不知道.但是当把long整型的几个变量换成double型时,计算的结果是正确的,你可以试试.
另外,函数中的变量 i,主函数中的变量 m,n,y它们不是阶乘,范围较小,可以定义为int型的,节省内存空间.
PS:刚查了工具书,long和int的范围一样的,所以,结果出错.改为更大范围的double吧.