请补充函数fun(),函数fun()的功能是求7的阶乘。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.

admin2010-05-05  45

问题 请补充函数fun(),函数fun()的功能是求7的阶乘。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
   #include<stdio.h>
   long fun(int n)
   {
     if(【  】)
       return(n*fun(【  】);
     else if(【  】)
       return 1;
   }
   main()
   {
     int k=7;
     printf("%d!=%ld\n", k, fun(k));
   }

选项

答案n>1 n-1 n==1

解析 第一空:求阶乘时采用递归的算法,n>1和n==1这两种情况的处理方法不同,需要分开考虑。第二空:阶乘的算法是,当n>1时,n!=n*(n-1)!,即fun(n)=n*fun(n-1)。第三空:n==1是递归的终止条件,因为1!=1,所以当n=1时,返回1。
转载请注明原文地址:https://kaotiyun.com/show/YHID777K
0

最新回复(0)