一、问题来源
http://noi.openjudge.cn/ch0101/07/
二、问题需求
2.1 输入一个双精度浮点数,分别按"%f"
、"%.5f"
、"%e"
、"%g"
格式输出这个数,每次输出单独占一行。
三、相关知识点
序号 | 知识点列表 | |
---|---|---|
3.1 | \n 标记 | 转义字符,用于System.out.printf 方法中,代表一个换行 |
3.2 | "%f" 格式 | 代表一个浮点数,一般默认保留6位小数 |
3.3 | "%.5f" 格式 | 代表一个保留5位小数的浮点数 |
3.4 | "%e" 格式 | 代表一个用科学计数法形式表示的浮点数 |
3.5 | "%g" 格式 | 代表一个浮点数,自动选择"%f" 格式和"%e" 格式中较短的那个格式 |
四、算法思想
4.1 定义并输入double
类型的浮点数n
;
4.2 调用System.out.printf
方法,通过"%f\n%.5f\n%e\n%g"
格式输出n
。
五、Java程序
/**
* 【题目名称】输出浮点数<p>
* 【题目来源】http://noi.openjudge.cn/ch0101/07/
*
* @author 潘磊,just_panlei@just.edu.cn
* @version 1.0
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double n = input.nextDouble(); // 双精度浮点数
System.out.printf("%f\n%.5f\n%e\n%g", n, n, n, n); // 按题目格式要求输出结果
}
}
六、备注
6.1 本题使用Java编程无法AC,只能获得8分。
七、拓展练习
7.1 输入一个整数,一个字符,一个双精度浮点数,在第一行保留3位小数输出双精度浮点数,在第二行通过科学计数法输出双精度浮点数,在第三行输出字符,在第四行输出整数。