c语言中的log,ln,lg怎么编写
首先在C语言中要用到指数、对数的相关公式,需要引入math.h。另外ln是以e为底数,lg是以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
lg1.5在C语言程序中如何表示
表示为log10(1.5)即可。lg1.5中的lg是数学中以10为底的对数函数的一种书写表示,在C语言中对应的库函数名是log10。比如:
//#include “stdafx.h”//If the vc++6.0, with this line.
#include “stdio.h”
#include “math.h”//log10在这个头文件中
int main(void){
printf(“lg1.5 = %g\n”,log10(1.5));
return 0;
}
输出是lg1.5 = 0.176091
如何用c语言编辑出lg函数并带值?
#include stdio.h
#include math.h
void main()
{
float x;
scanf(“%f”,x);
(x=(float)0)?printf(“输入有误!”):printf(“lgx=%f”,log10(x));
}
运行示例截图:
看了个例子,C语言中输出%lg是double型的,那这里的lg是什么的缩写啊?
%lg并不是任何字符的缩写,而是一个特定的格式字符。说明如下:
%lg的效果为,根据double类型数据的值,自动选择以实数形式输出,或者是以科学计数法输出。
对double输出可以选择以实数方式输出,格式为%lf。 当用%lf时,输出为xxx.xxxxxx形式。
也可以选择以科学计数法形式输出,格式为%le,当使用%le时,输出为x.xxxxxxexxx形式。
除%le和%lf外,还提供了智能选择,根据值,自动选择实数形式或科学计数法形式,即%lg。
使用字母g的原因已经不可考证,一般认为是科学计数法的e,到实数的f,然后字母排列下来的g。