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