问答题 下列给定程序中函数fun的功能是:计算n!。 例如,给n输入5,则输出120.000000。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >#include < conio.h >double fun(int n){ double result:1.0;/*********found*********/ if n==0 return 1.0; while(n >1&&n < 170)/*********found*********/ result=n一一; return result;}main(){ int n; printf("Input N:"); scanf("%d",&n); printf("/n/n%d!=%if/n/n",n,fun(n));}
【正确答案】正确答案:(1)if(n==0) (2)result*=n一一;或{result *=n;n一一;}
【答案解析】解析:(1)这里是一个简单的格式错误,if条件判断语句应该加括号。 (2)根据阶乘的概念,从n开始,n!=n*(n一1)!,直到1,所以应该为result*=n一一;。