函数题:截断问题(高级版)*
请编写函数,对小数进行截断。
c
// 截断(高级版)
double Trunc(double x, int d);
说明:x 为任意实数,d 为小位位数。函数值为将 x 其截断后得到的保留 d 位小数的实数。
要求:误差阈值 $$\epsilon = 1 \times 10^{-8}$$。
#### 裁判程序
c
#include <stdio.h>
#include <math.h>
// 定义误差阈值
#define epsilon 1e-8
// 修正实数零
double Revise(double x);
// 修正实数零
double Revise(double x);
// 判断实数大于
int RealGt(double x, double y);
// 判断实数大于等于
int RealGe(double x, double y);
// 判断实数小于
int RealLt(double x, double y);
// 判断实数小于等于
int RealLe(double x, double y);
// 判断实数相等
int RealEq(double x, double y);
// 判断实数不等
int RealNe(double x, double y);
// 判断奇数
int IsOdd(int number);
// 判断偶数
int IsEven(int number);
// 求幂
double Power(double x, int n);
// 截断(高级版)
double Trunc(double x, int d);
int main()
{
double x;
int d;
scanf("%lg%d", &x, &d);
printf("%g\n", Trunc(x, d));
return 0;
}
...(略)...
/* 你提交的代码将被嵌在这里 */
#### 测试数据
|输入样例 |输出样例 |
|:---------------|:------------|
|25.836 2 |25.83 |
|-18.274 2 |-18.27 |
|87.9 0 |87 |
|-247.999999997 0|-248 |
|-0.47312 0 |0 |
|47185.62 -2 |47100 |
答案:若无答案欢迎评论
c
// 截断(高级版)
double Trunc(double x, int d);
说明:x 为任意实数,d 为小位位数。函数值为将 x 其截断后得到的保留 d 位小数的实数。
要求:误差阈值 $$\epsilon = 1 \times 10^{-8}$$。
#### 裁判程序
c
#include <stdio.h>
#include <math.h>
// 定义误差阈值
#define epsilon 1e-8
// 修正实数零
double Revise(double x);
// 修正实数零
double Revise(double x);
// 判断实数大于
int RealGt(double x, double y);
// 判断实数大于等于
int RealGe(double x, double y);
// 判断实数小于
int RealLt(double x, double y);
// 判断实数小于等于
int RealLe(double x, double y);
// 判断实数相等
int RealEq(double x, double y);
// 判断实数不等
int RealNe(double x, double y);
// 判断奇数
int IsOdd(int number);
// 判断偶数
int IsEven(int number);
// 求幂
double Power(double x, int n);
// 截断(高级版)
double Trunc(double x, int d);
int main()
{
double x;
int d;
scanf("%lg%d", &x, &d);
printf("%g\n", Trunc(x, d));
return 0;
}
...(略)...
/* 你提交的代码将被嵌在这里 */
#### 测试数据
|输入样例 |输出样例 |
|:---------------|:------------|
|25.836 2 |25.83 |
|-18.274 2 |-18.27 |
|87.9 0 |87 |
|-247.999999997 0|-248 |
|-0.47312 0 |0 |
|47185.62 -2 |47100 |
答案:若无答案欢迎评论