请编写函数,对小数进行四舍五入。
double Round(double x, int d);
说明:x
为任意实数,d
为小位位数。函数值为 x
只保留 d
位小数的近似值,末位经过四舍五入处理。
输入样例
实数 x 和整数 d
输出样例
实数 x 的近似值(要求:以格式限定符 %f 输出。)
输入样例1
1725.836 2
结尾无空行
输出样例1
1725.840000
结尾无空行
输入样例2
-18.253349 4
结尾无空行
输出样例2
-18.253300
结尾无空行
输入样例3
812.75 0
结尾无空行
结尾无空行
输出样例3
813.000000
结尾无空行
输入样例4
45319.75 -2
结尾无空行
输出样例4
45300.000000
结尾无空行
代码如下(已更正):
#include <stdio.h>
#include <string.h>
#include <math.h>
double Round(double x, int d)
{
double m;
x *= pow(10,d);
if (x > 0)
m = (int)(x + 0.5) / pow(10,d);
else
m = (int)(x - 0.5) / pow(10,d);
return(m);
}
int main()
{
double x;
int d;
scanf("%lf %d",&x,&d);
printf("%.6lf\n",Round(x,d));
return 0;
}