重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先在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
这个可以利用换底公式:
double x;
scanf("%lf",x);
printf("%lf\n",log(x)/log(10));
也可以直接利用math.h中的库函数:
printf("%lf\n",log10(x));
先说指数。
初中数学应该学过指数吧,如2^1=2,2^2=4,2^3=8等,外形如a^b这个样子的,就表示连续b个a相乘。
2^1 表示连续一个2相乘,就是2自己。2^2表示连续两个2相乘就是2x2 =4。2^3 表示连续3个2相乘就是2x2x2 =8。
而对数就是指数的逆运算,对数的运算符号是log,就像加法有+号,减法有-号一样。
如果a^b 的结果记为c,就是a^b =c. 这个式子的逆运算就是log a(c) =b。
为了计算简便,人们常用的一个是a=10 。则对于10^b =c表示连续有b个10相乘,其结果是c;对于这个式子,如果知道了结果c的值如:结果c=100.那么就可以求出b的值,求得这时b=2,因为连续2个10相乘等于100。用数学符号把求b的过程表示出来就是:
,这个已知c求b的过程就叫对数运算。
log 10(x)就表示有一个数b,使得10^b=x,现在已知x想求b。
如果还看不懂就找初中数学来看看。
函数原型:double log(double x);
double log10(double x); 例子:void main( void )
{
double x = 9000.0;
double y;
y = log( x );
printf( "log( %.2f ) = %f\n", x, y );
y = log10( x );
printf( "log10( %.2f ) = %f\n", x, y );
}输出结果如下:log( 9000.00 ) = 9.104980
log10( 9000.00 ) = 3.954243谢谢采纳
函数原型 double log10(double x); //计算log10 x的值#includestdio.h#includemath.hmain(){double x=100,y;y=log10(x);printf("%lf\n",y); } 输出的值是 2.000000
x的自然对数用log(x)表示
常用对数用log10(x)表示
#includestdio.h
#includemath.h
int main()
{int i;
for(i=1;i=10;i++)
printf("log10(%d)=%lf\n",i,log10(i));
return 0;
}