简答题
👁️ 浏览量:

试题题干

用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0, 1, 2, ……, 10时各阶乘的值。


long fac (int n)
{
    if (________)return (1); /* 第一空 */
   else return ________; /* 第二空 /

main ( )
{
    int m; long int fa;
    for (m=0; m<=10; m++)
   {
     ________; /* 第三空 */
    printf (″%d!=%1d\n″, m, fa);
  }

参考答案

试题解析

因为if语句之后的表达式为return (1),即if语句中的表达式为n==0||n==1,故第一空填入n==0||n==1;

else返回的值是当n>1时的表达式,即第二空填入n*fac(n-1);

在主函数中要调用函数fac(),且输出的是fa,即第三空应填写fa=fac(m)。