函数题:倒数函数(宏)*
已知倒数函数的原型如下:
#### 函数原型
c
double Rec(double x);
说明:参数 $$x$$ 为非零实数,函数值为其倒数 $$1 / x$$。
请在空白处填写适当内容,用带参数的宏替换命令来实现相同的功能。
#### 裁判程序
c
#include <stdio.h>
__________
int main()
{
double a, b;
scanf("%lg", &a);
b = Rec(a);
printf("%g\n", b);
return 0;
}
#### 输入样例
in
0.4
#### 输出样例
out
2.5
---
注:裁判程序有很多,不止一个。
答案:若无答案欢迎评论
调用形式有多种,例如:
c
double x, y;
...
y = Rec(x);
c
int a;
double x;
...
x = Rec(a);
c
double x, y;
...
y = Rec(Rec(x));
c
double x, y, z;
...
z = Rec(x + y);
因此,要使以上各种调用形式都能得到正确结果,正确答案应为:
#define Rec(x) (1.0 / (x))
#### 函数原型
c
double Rec(double x);
说明:参数 $$x$$ 为非零实数,函数值为其倒数 $$1 / x$$。
请在空白处填写适当内容,用带参数的宏替换命令来实现相同的功能。
#### 裁判程序
c
#include <stdio.h>
__________
int main()
{
double a, b;
scanf("%lg", &a);
b = Rec(a);
printf("%g\n", b);
return 0;
}
#### 输入样例
in
0.4
#### 输出样例
out
2.5
---
注:裁判程序有很多,不止一个。
答案:若无答案欢迎评论
调用形式有多种,例如:
c
double x, y;
...
y = Rec(x);
c
int a;
double x;
...
x = Rec(a);
c
double x, y;
...
y = Rec(Rec(x));
c
double x, y, z;
...
z = Rec(x + y);
因此,要使以上各种调用形式都能得到正确结果,正确答案应为:
#define Rec(x) (1.0 / (x))