请编写函数fun(),它的功能是计算: s=(ln(1)+ln(2)+ln(3)+…+ln(m))0.5 在C语言中可调用log(n)函数求ln(n)。 例如,若m的值为20,则fun()函数值为6.506583。 注意:部

admin2010-09-14  9

问题 请编写函数fun(),它的功能是计算:
       s=(ln(1)+ln(2)+ln(3)+…+ln(m))0.5
   在C语言中可调用log(n)函数求ln(n)。
   例如,若m的值为20,则fun()函数值为6.506583。
   注意:部分源程序给出如下。
   请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。
   试题程序:
   #include <conio. h>
   #include <stdio. h>
   #include <math.h>
   double fun(int m)
   {
   }
   main ()
   {
   clrscr ();
   printf ("%f\n ", fun (20));
   }

选项

答案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)+…+in(m)*/ return sort (s); /*对s求平方根并返回*/ }

解析 首先,题目要求计算从1到m的对数的和,可用从1到m的循环,每次循环都累加求和。该题需要注意之处是, log()函数的形式参数应当为double 型变量,而用于循环的基数变量为整数,需要进行强制转换。在返回的时候求小平方根。
转载请注明原文地址:https://jikaoti.com/ti/sIkiFFFM
0

相关试题推荐
最新回复(0)