函数题:通用对数函数(宏)
C语言库函数只提供以 $$e$$ 和 $$10$$ 为底数的对数函数。我们自行设计一个以任意正实数 $$a$$ 为底数、任意正实数 $$x$$ 为真数的通用对数函数:
$$\log _a x$$
#### 函数原型
c
double LogA(double a, double x);
说明:参数 $$a$$ 是底数,$$a \gt 0$$ 且 $$a \neq 1$$,$$x$$ 是真数(幂),$$x > 0$$,函数值是对数(指数) $$\log _a x$$。
请在空白处填写适当内容,用带参数的宏替换命令来实现相同的功能。
#### 裁判程序
c
#include <stdio.h>
#include <math.h>
__________
int main()
{
double a, x, y;
scanf("%lg%lg", &a, &x);
y = LogA(a, x);
printf("%g\n", y);
return 0;
}
#### 输入样例
in
0.49 0.16807
#### 输出样例
out
2.5
---
注:裁判程序有很多,不止一个。
答案:若无答案欢迎评论
使用换底公式
$$\log _a x$$
#### 函数原型
c
double LogA(double a, double x);
说明:参数 $$a$$ 是底数,$$a \gt 0$$ 且 $$a \neq 1$$,$$x$$ 是真数(幂),$$x > 0$$,函数值是对数(指数) $$\log _a x$$。
请在空白处填写适当内容,用带参数的宏替换命令来实现相同的功能。
#### 裁判程序
c
#include <stdio.h>
#include <math.h>
__________
int main()
{
double a, x, y;
scanf("%lg%lg", &a, &x);
y = LogA(a, x);
printf("%g\n", y);
return 0;
}
#### 输入样例
in
0.49 0.16807
#### 输出样例
out
2.5
---
注:裁判程序有很多,不止一个。
答案:若无答案欢迎评论
使用换底公式