首先在C语言中要用到指数、对数的相关公式,需要引入math.h。另外ln是以e为底数,lg是以10为底数。
10年积累的网站制作、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有萧县免费网站建设让你可以放心的选择与我们合作。
代码如下:
#includestdio.h
#includemath.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类型。
参考资料:
百度百科——换底公式
百度百科——math.h
C语言不是数学,这里在运算的时候会读值,你设变量,是读不到值得,那么分母就有问题,你这很明显不了解编程,编程不可能把你数学表达式录进来就可以的,你这除法要自己写算法
在C语言中,自然对数函数只要包含math.h头文件,
#includemath.h
然后使用y=log(x);就可以了。
另外,由于0和负数是没有对数的,所以,使用这个公式时要保证x是一个正数。
log:DOMAIN error
意为计算对数时范围超出定义域,象你的这个提示,是说x的值出现了小于或等于0的情况。
在C++/C语言中,对数函数y = lnx的表示方法为y = log(x),函数的完整原型为:double log(double x)。
#includecstdio
#includealgorithm
#includecmath
using namespace std;
int main()
{
printf("%f\n",log(10));
return 0;
}
扩展资料
C语言 log10() 函数用来求以 10 为底的对数值。
头文件:math.h
语法/原型:double log10(double x);
参数 x 是一个双精度数。
返回值:以 10 为底的 x 的对数值。
【实例】使用C语言 log10() 函数求以 10 为底的 40 的对数。
#include stdio.h
#include math.h
int main() {
double m = 40; //为变量赋初值
double n = log10(m); //求以10为底的参数40的对数
printf("%lf\n", n);
return 0;
}
运行结果:
1.602060
可以通过库函数log( )来求ln x
函数原型:double log(double x);
功能:求ln(x)
返回值:计算结果
举例如下:
double x=2.73, y;
y = log(x); // 计算ln(x),并将计算结果赋值给变量y
注:使用log函数时,需要将头文件#includemath.h添加进源文件中。
扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
特有特点
1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
3、不同的变量类型可以用结构体(struct)组合在一起。
4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
5、部份的变量类型可以转换,例如整型和字符型变量。
6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。
7、预编译处理(preprocessor)让C语言的编译更具有弹性。
参考资料:(百度百科:c语言)
math.h里面就有
double log (double); 以e为底的对数
如果你是想自己写一个函数的话,那得用级数展开,展成多项式
ln(x) = -sum_(k=1)^infinity((-1)^k (-1+x)^k)/k for |-1+x|