• 2022-06-08
    关于以下代码的描述中,正确的是( ) def fact(n): s=1 fori in range(1,n+1): s*=i return s
    A: 代码中n是可选参数
    B: fact(n)函数功能为求n的阶乘
    C: s是全局变量
    D: range()函数的范围是[1,n+1]
  • B

    内容

    • 0

      以下计算阶乘n!的函数fact,正确还是错误?def fact(n) if n == 0 : return 1 else: return n * fact(n-1)

    • 1

      下面哪个是正确的递归函数 A: def fun1(n): if n==1: return 1 else: return n*fun1(n-1) B: def fun2(n): if n==1: return 1 else: return n*fun2(n+1) C: def fun3(n): return n*fun3(n-1) D: def fun4(n): return n*fun4(n+1)

    • 2

      以下程序的功能是计算1到n的阶乘和,请填空。 long f(int n) { int i; long s; s=1; for(i=1; i <=n; i++) s=s*i; return s; } main() { long s; int k, n; scanf("%d", &n); s=0; for(k=0; k <=n; k++) s=s +_____ ;printf("%d\n",s); }

    • 3

      递归函数f(n)的功能是计算1+2+…+n,且n≥1,则f(n)的代码段是 (49) 。 A: if n>1 then return 1 else return n+f(n-1) B: if n>1 then return 1 else return n+f(n+1) C: if n>1 then return 0 else return n+f(n+1) D: if n<1 then return 0 else return n+f(n-1)

    • 4

      函数可以降低程序复杂度,现给出如下代码:[img=278x186]17da6fa03a5b001.png[/img]经分析,以下选项中描述正确的是( ) A: 代码中n是全局变量 B: 代码中n是可选参数 C: 语句return s可以删除 D: func1函数的功能是求n的阶乘