i的阶层用C语言怎么表示

如题所述

C语言中,i的阶乘可以用递归方式来计算,也可以用非递归方式来计算。


递归方式:

double fun(int i)
{
    if(i<2)
        return 1;   // 0和1的阶乘都是1
    else 
        return i*fun(i-1);  // i的阶乘等于i乘以(i-1)的阶乘
}
// 调用函数fun后,得到的就是i的阶乘

非递归方式:

double result=0;
int ind, i;
printf("输入i的值:");
scanf("%d", &i);
for(ind=1; ind<=i; ind++)  // 1*2*...*i得到i的阶乘
    result = result * ind;
// 执行完该程序段后,就可以得到i的阶乘

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-16
递归方法
int jieceng(int n)
{
if(n>=1)
{
if(n == 1)
{
return 1;
}
else
{
return n*jieceng(n-1);
}
}
else
{
printf("error");
return 0;
}
}
第2个回答  2010-04-15
迭代方法:
double jc(int n)
{
double j=1;
if(n<0) return -1;
while (n) j*=n--;

return j;
}

递归方法:

double jc(int n)
{

if (n>1) return n*jc(n-1);
if (n<0) return -1;
else return 1;
}
第3个回答  2010-04-15
递归方法
int jieceng(int n)
{
if(n>=1)
{
if(n == 1)
{
return 1;
}
else
{
return n*jieceng(n-1);
}
}
else
{
printf("error");
return 0;
}
}本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网