P021 计算 log(n) ★

03-程序设计题 软件121, 唐鼎威 1075浏览

所属年份:2010.9;2011.9;2012.3;
编写函数fun,其功能是计算:

P021

s作为函数值返回。

在C语言中可调用log(n)函数求ln(n)。log函数的引用说明为:double log(double x)。

例如,若m的值为20,则fun函数值为6.506583。

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);   
}

【考点分析】
本题考查:计算表达式的值运用for循环语句通过累加操作求和;平方根函数sqrt()的使用。

【解题思路】
首先计算从1到m的对数的和,因此循环变量的范围是1~m,每次循环都进行一次累加求和。该题需要注意的是,log()函数的形式参数应当为double型变量,而用于循环的基数变量为整数,需要进行强制转换。在返回的时候求出平方根。

【参考答案】

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求平方根并返回*/
}