Problem D: 输出保留3位小数的实数(保留小数位数)
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:74
Solved:33
Description
从键盘读入一个实数,保留3位小数输出这个实数。
注意:此题要求我们是从键盘读入一个数,需要用到输入语句。提示中的例子里对保留小数位数的方法进行了说明。
注意:此题要求我们是从键盘读入一个数,需要用到输入语句。提示中的例子里对保留小数位数的方法进行了说明。
Input
只有一行,一个实数。
Output
只有一行,读入的实数。
Sample Input Copy
12.34521
Sample Output Copy
12.345
HINT
c++语言:单精度实数类型是float,双精度实数类型是double
保留小数位数用法如下:
1.cout语句
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
float a; //定义一个单精度实型
a=10.123456; //10.123456赋值给a这个变量
cout<<fixed<<setprecision(3)<<a<<endl; //保留三位小数,输出结果是10.123
cout<<fixed<<setprecision(5)<<a<<endl; //保留五位小数,输出结果是10.12346
}
2.格式化输出语句
C++兼容C语言,C语言中的浮点数分为float(单精度)和double(双精度)两种类型。
float通常占用4个字节,而double通常占用8个字节,因此double类型的精度高于float类型。
在C语言标准输入输出函数scanf和printf中,float类型使用%f作为格式化说明符,而double类型则使用%lf作为格式化说明符。
单精度实数
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
float a; //定义一个单精度实型
scanf("%f",&a);//格式化输入一个单精度实数。如果这里输入一个10.123456
printf("%.3f\n",a); //保留三位小数,输出结果是10.123
printf("%.5f",a); //保留五位小数,对第六位进行四舍五入,输出结果是10.12346
}
在上述代码中,%.3f是格式化字符串,其中%表示格式化字符的开始,.3表示保留三位小数,f表示浮点数。\n表示换行。
双精度实数
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
double a; //定义一个双精度实型
scanf("%lf",&a);//格式化输入一个双精度实数。如果这里输入一个10.12345678
printf("%.3lf\n",a); //保留三位小数,输出结果是10.123
printf("%.5lf",a); //保留五位小数,对第六位进行四舍五入,输出结果是10.12346
}
保留小数位数用法如下:
1.cout语句
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
float a; //定义一个单精度实型
a=10.123456; //10.123456赋值给a这个变量
cout<<fixed<<setprecision(3)<<a<<endl; //保留三位小数,输出结果是10.123
cout<<fixed<<setprecision(5)<<a<<endl; //保留五位小数,输出结果是10.12346
}
2.格式化输出语句
C++兼容C语言,C语言中的浮点数分为float(单精度)和double(双精度)两种类型。
float通常占用4个字节,而double通常占用8个字节,因此double类型的精度高于float类型。
在C语言标准输入输出函数scanf和printf中,float类型使用%f作为格式化说明符,而double类型则使用%lf作为格式化说明符。
单精度实数
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
float a; //定义一个单精度实型
scanf("%f",&a);//格式化输入一个单精度实数。如果这里输入一个10.123456
printf("%.3f\n",a); //保留三位小数,输出结果是10.123
printf("%.5f",a); //保留五位小数,对第六位进行四舍五入,输出结果是10.12346
}
在上述代码中,%.3f是格式化字符串,其中%表示格式化字符的开始,.3表示保留三位小数,f表示浮点数。\n表示换行。
双精度实数
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
double a; //定义一个双精度实型
scanf("%lf",&a);//格式化输入一个双精度实数。如果这里输入一个10.12345678
printf("%.3lf\n",a); //保留三位小数,输出结果是10.123
printf("%.5lf",a); //保留五位小数,对第六位进行四舍五入,输出结果是10.12346
}