题目 :保留小数
难度:白银
将一个浮点型K数保留n(1≤n≤5)位小数(四舍五入)的算法定义为宏。在主函数中输入数据输出计算结果。
格式
输入格式:输入k为实型,n为整数,空格分隔。
输出格式:输出为实型
样例1 输入:3.1415926 3
输出:3.142
#include <stdio.h>
#include <math.h>
//宏定义:将浮点数保留指定的小数位数,使用四舍五入
#define num(k,n) round((k)*pow(10,n)) / pow(10,n) //round()和pow()为math.h库里的
int main()
{
double k;
int n;
scanf("%lf %d",&k,&n);
double result=num(k,n);
printf("%.*lf\n",n,result);
return 0;
}
/*printf("%.*lf\n",n,result);
.*表示在运行时指定精度。*用来接受一个整数参数,表示将在运行时获取的参数值作为精度(指定小数部分的位数)
函数pow()和round()的用法:
double pow(double x, double y);pow() 函数用来求 x 的 y 次幂(次方)
round() 函数用于四舍五入浮点数到最接近的整数值
例子:pow(2,10);表示计算2的10次方;
round(3.14)=3.00
*/