下列给定程序中,函数fun的功能是:计算整数n的阶乘。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdlib.h> #include<stdio.h> d

admin2018-09-10  33

问题 下列给定程序中,函数fun的功能是:计算整数n的阶乘。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<stdio.h>
double fun(int n)
{
double result=1.0;
while(n>1&&n<170)
/******found******/
result*=--n:
/******found******/
return;
}
void main()
{
int n;
printf("Enterallinteger:");
scanf("%d",&n);
printf("\n%d!=%lg\n",n,fun(n));
}

选项

答案(1)result*=n--; (2)return result;

解析 本题考查:复合赋值运算;通过return语句完成函数值的返回。
该题采用循环语句计算n的阶乘。当n大于1且小于170时,令result与n相乘,同时n自动减1,循环至n=2(n=1时无须相乘)。最后将阶乘的积result返回给主函数。
转载请注明原文地址:https://kaotiyun.com/show/qVxp777K
0

最新回复(0)