十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用库函数math.h 这里面的log就是数学里面ln(底数为e的那个家伙)的意思。如下代码例子
创新互联建站主要从事网站制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务久治,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
#includestdio.h
#includemath.h
main()
{
double k;
k=log(2.71828);
printf(" %f ",k);
k=log(8)/log(2);
printf(" %f ",k);
}
第一k是ln(e)的意思,e约为2.71828,屏幕上打印出值为0.999999,
第二k是求底数为2真数为8的值log2(8)=ln(8) /ln(2) (这个数学转化式我不用多说),打印出来的结果是3.000000
#include math.h
log(x)为以2为底x的对数,可以用log(x)/log(10)表示以10为底x的对数 。
#includestdio.h
#include math.h
void main()
{
float x=5,y;
y=log(x);
printf("%f\n",y);
}
扩展资料:
C语言中使用对数函数的方法
log()函数:返回以e为底的对数值
头文件:
1#include
log() 函数返回以 e 为底的对数值,其原型为:
1double log (double x);
log()用来计算以e为底的 x 的对数值,然后将结果返回。设返回值为 ret,则
1x = eret
如果 x 为负数或 0,则会发生错误并设置 errno 值。错误代码:
EDOM:参数x 为负数;
ERANGE:参数x
为零值,零的对数值无定义。
注意:使用 GCC 编译时请加入-lm。
首先在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
C语言中直接提供的是e为底的自然对数log,和以10为底的常用对数log10,其他对数写个函内数就可以。
#include stdio.h
#include math.h
double loga(double n, double base);
int main (void)
{
double a, b, c;
a = log(exp(1));
b = log10(10);
c = loga(100, 5);
printf("%lf %lf %lf", a, b, c);
}
double loga(double n, double base)
{ return log(n) / log(base);}
扩展资料:
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,中括号内的索引值是从0算起的。
C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件string.h。
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
比较特别的是,比特右移()运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
没有问题,输出m=0.301030;n=0.004321;g=69.66
编译时会提示warning,主要原因有
1、int d=300000 过大,用长整形;
2、log()和log10()函数均是double型,double转成float会有截断误差,将float r=0.01,m,n,g;
中的float改成double就不会有warning了;
3、getch()函数未声明,头文件加入#includeconio.h,就不会有warning了。
但warning不会影响运行结果。
c 里直接提供的是 以 e 为底的自然对数 log ,和 以 10 为底的常用对数 log10
其他对数写个函数就可以
#include stdio.h
#include math.h
double loga(double n, double base);
int main (void)
{
double a, b, c;
a = log(exp(1));
b = log10(10);
c = loga(100, 5);
printf("%lf %lf %lf", a, b, c);
}
double loga(double n, double base)
{ return log(n) / log(base);}