填空题
1.
请补充fun()函数,fun()函数的功能是:求m的阶乘。
请勿改动main()函数与其他函数中的任何内容,仅在fun()函数的横线上填写所需的若干表达式语句。
注意:部分源程序如下。
试题程序:
#include<stdio.h>
long fun(int m)
{
if(______)
return(m*fun(______));
return ______;
}
void main()
{
printf("8!=%ld\n",fun(8));
}
1、
【正确答案】
1、m>1
m-1
1
【答案解析】
(1)第一个空是要根据m的取值来判断使用何种阶乘的计算公式。这里根据第2句递归调用语句,可知该语句是用来计算当m>1时的阶乘。因此,第一个空if语句里面的条件应该满足“m>1”,所以,第一个空应填“m>1”。
(2)第二个空很显然是采用递归函数来实现阶乘的计算,所以,第二个空应填“m-1”。
(3)第三个空是要实现当m=1时的阶乘计算,所以,第三个空应填“1”。
提交答案
关闭