题目链接

牛牛学说话之-浮点数

题目描述

会说整数之后,牛牛开始尝试浮点数(小数)。

输入描述: 输入一个浮点数 f

输出描述: 输出浮点数 f。从示例来看,需要保留三位小数输出。

解题思路

本题是继整数输入输出之后,对浮点数输入输出的考察。核心在于两点:

  1. 使用能表示浮点数的数据类型(如 C++ 的 doublefloat,Java 的 double,Python 的 float)来存储输入的数字。
  2. 在输出时,按照题目示例的要求,将结果格式化为保留三位小数的形式。这通常需要使用特定语言的格式化输出功能。

代码

#include <iostream>
#include <iomanip> // 需要包含此头文件以使用 setprecision

using namespace std;

int main() {
    double f;
    // 从标准输入读取一个浮点数
    cin >> f;
    // 设置输出格式为固定小数点表示,并保留三位小数
    cout << fixed << setprecision(3) << f << endl;
    return 0;
}
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 从标准输入读取一个双精度浮点数
        double f = sc.nextDouble();
        // 使用 printf 格式化输出,%.3f 表示保留三位小数的浮点数
        System.out.printf("%.3f%n", f);
    }
}
# 从标准输入读取一行,并转换为浮点数
f = float(input())
# 使用 f-string 或 format 方法格式化输出,:.3f 表示保留三位小数
print(f"{f:.3f}")

算法及复杂度

  • 算法:基础输入输出与格式化。
  • 时间复杂度: - 读取和打印浮点数的操作是常数时间。
  • 空间复杂度: - 仅需常数空间存储输入的浮点数。