Problem A: 输入双精度实数,保留两位小数输出

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:9 Solved:8

Description

输入n个数,每个数据输入一个双精度实数,保留两位小数输出。

Input

第一行:输入数据的个数n
第二行到第n+1行:每行一个双精度实数类型的数据,可以带小数,也可以不带小数

Output

保留两位小数输出。
若输入小数位数多于两位,则按四舍五入进行截取。

Sample Input Copy

6
2
23.3333
0
16.866
0.899
666

Sample Output Copy

2.00
23.33
0.00
16.87
0.90
666.00

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
}