假设log中底数是5。另一个假设是100.就写成log5(100).
但是ln100,和lg100要怎么编写?
PS:ln是不是以e为底数?lg的底数是不是10?
首先在C语言中要用到指数、对数的相关公式,需要引入math.h。另外ln是以e为底数,lg是以10为底数。
代码如下:
#include<stdio.h>
#include<math.h>
void main()
{
double exponent, base;
exponent = 3.14;
printf("ln(%f) = %.2f\n", exponent, log(exponent));//以e为底数的对数
exponent = 100;
printf("lg(%.f) = %.2f\n", exponent, log10(exponent));//以10为底数的对数
base = 5, exponent = 100;
printf("log_%.f(%.f) = %.2f\n", base, exponent, log(exponent)/log(base));//换底公式
return 0;
}
在求log_5(100)时需要用到“换底公式”:log_5(100) = ln(100)/ln(5)。
扩展资料:
math.h文件中包含的函数主要分为以下几类:
1、三角函数、反三角函数、双曲三角函数。
2、指数、对数。
3、取整、绝对值。
4、标准化浮点数。
涉及参数类型为double类型。
参考资料:
c语言中
函数 log(x) 表示是以e为底的自然对数,即 ln(x)
函数 log10(x) 以10为底的对数,即 lg(x)
以其它数为底的对数用换底公式来表示
函数 log() 和 log10() 包含在头文件<math.h>中
代码如下:
#include<stdio.h>运行结果如下: