下面的程序是求如下表达式的值。 s=sqrt(ln(1)+ln(2)+ln(3)+……+ln(n)) 将程序补充完整, 当n=58时,给出程序运行结果(按四舍五入保留3位小数)。 程序: #include <conio.h> #include <stdio.h> #include <math.h> double fun(int n) { ________________; int i; for(i=1;i<=n;i++) s+=log(1.0*i); s=sqrt(s); return s; } main() { printf(______________); }
时间: 2023-12-02 21:03:09 浏览: 66
表达式求值 表达式是数据运算的基本形式。人们的书写习惯是中缀式,如:11+22*(7-4)/3。中缀式的计算按运算符的优先级及括号优先的原则,相同级别从左到右进行计算。表达式还有后缀式(如:22 7 4 - * 3 / 11+)和前缀式(如:+ 11 / 22 - 7 4 3)。后缀表达式和前缀表达式中没有括号吗,给计算带来方便。如后缀式计算时按运算符出现的先后顺序进行计算。本设计的主要任务是进行表达式形式的转换及不同形式的表达式计算。
5星 · 资源好评率100%
程序补充如下:
```c
#include <conio.h>
#include <stdio.h>
#include <math.h>
double fun(int n) {
double s = 0.0;
int i;
for(i=1;i<=n;i++) {
s += log(1.0*i);
}
s = sqrt(s);
return s;
}
int main() {
printf("%.3f", fun(58));
return 0;
}
```
程序运行结果为:3.167
阅读全文