早教吧 育儿知识 作业答案 考试题库 百科 知识分享

下面的程序是求如下表达式的值。S=sqrt(ln(1)+ln(2)+ln(3)+......+ln(n))请改正程序中的错误.并运行修改后的程序,当n=50时,给出程序运行结果(按四舍五入保留6位小数)。程序:#include<conio

题目详情
下面的程序是求如下表达式的值。 S=sqrt(ln(1)+ln(2)+ln(3)+......+ln(n)) 请改正程序中的错误.并运行修改后的程序, 当n=50时,给出程序运行结果(按四舍五入保留6位小数)。 程序: #include <conio.h> #include <stdio.h> #include <math.h> int fun(int n) { int s=0; int i; for(i=1;i<=n;i++) s+=log(1.0*i); s=sqrt(s); return s; } main() {clrscr(); printf("%lf\n",fun(50)); }
▼优质解答
答案和解析
#include int fun(int n) //改成 double fun(int n) { int s=0; int i; //改成 double s=0; int i; for(i=1;i<=n;i++) s+=log(1.0*i); s=sqrt(s); return s; } main() {clrscr(); printf("%lf\n",fun(50)); // 改成 printf("%.6f\n",fun(50)); }