003 OpenJudge-1.1-05 输出保留12位小数的浮点数

http://noi.openjudge.cn/ch0101/05/

视频题解

描述

读入一个双精度浮点数,保留12位小数,输出这个浮点数。

输入

只有一行,一个双精度浮点数。

输出

也只有一行,保留12位小数的浮点数。

样例输入

3.1415926535798932

样例输出

3.141592653580

参考程序-1

#include<bits/stdc++.h>
using namespace std;

int main(){
    double d;//12位超出单精度长度
    cin>>d;
    cout<<fixed<<setprecision(12)<<d;
}

参考程序-2

#include<iostream>

int main(){
    double d;
    scanf("%lf",&d);//double 输入 %lf 输出%lf %f都可以 
    printf("%.12f",d);//超出float范围
    return 0;
}

001 OpenJudge-1.1-03 对齐输出

http://noi.openjudge.cn/ch0101/03/

视频题解

描述

读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们。

输入

只有一行,包含三个整数,整数之间以一个空格分开。

输出

只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。

样例输入

123456789 0 -1

样例输出

123456789        0       -1

参考程序 -1

#include<iostream>
#include<iomanip>
using namespace std;

int main(){
    int a,b,c;
    cin>>a>>b>>c;
    cout<<setw(8)<<a<<" ";//8个字符宽度 又对齐 每个数之间有个空格
    cout<<setw(8)<<b<<" ";//8个字符宽度 又对齐 每个数之间有个空格
    cout<<setw(8)<<c;
}

参考程序-2

#include<iostream>

int main(){
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);//输入
    printf("%8d %8d %8d",a,b,c);//8个字符宽度输出
    return 0;
} 

002 OpenJudge-1.1-04 输出保留3位小数的浮点数

http://noi.openjudge.cn/ch0101/04/

视频题解

描述

读入一个单精度浮点数,保留3位小数输出这个浮点数。

输入

只有一行,一个单精度浮点数。

输出

也只有一行,读入的单精度浮点数。

样例输入

12.34521

样例输出

12.345

参考程序-1

#include<iostream>
#include<iomanip>
using namespace std;

int main(){
    float f;
    cin>>f;
    cout<<fixed<<setprecision(3)<<f;
}

参考程序-2

#include<iostream>

int main(){
    float f;
    scanf("%f",&f);
    printf("%.3f",f);
}