【正确答案】double fun(int m) { int i; double s=0.0; for(i=1;i<=m;i++) s=s+log(i);/*计算s=ln(1)+ln(2)+ln(3)+…+ln(m)*/ return sqrt(s);/*对s求平方根并返回*/ }
【答案解析】题目要求写出程序实现数学表达式的功能,需要用for循环计算累加的结果,调用sqrt()函数实现求平方根。循环变量的范围是1~m,每次循环都进行一次累加求和。需要特别注意的是,log()函数的形式参数为double型变量,用于循环的计数变量为整数,所以必须强制转换。最后返回所求出的平方根。