问题 填空题

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

答案

参考答案:(1)错误:result*=--n; 正确:result*=n--;

解析:(2)错误:return; 正确:return result; 该题采用循环语句计算n的阶乘。当n大于1且小于170时,令result与n相乘,同时n自动减1,循环至n=2(n=1时无需相乘):注意:o和1的阶乘都等于1,可用条件语句和循环语句实现上述功能。

判断题
多项选择题