文章

【GESP】C++一级练习BCQM3027,输入-浮点型格式化输出

一道没有计算直接输入后,按格式化输出的题。更基础了,巩固练习。

BCQM3027

题目要求

描述

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

输入

只有一行,一个浮点数 x(−105≤x≤105)。

输出

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

输入样例

12.34521

输出样例

1
12.345

题目分析

连计算过程都没有了,单纯练习printf格式化输出的题,知识点在%m.nf的含义理解。

在C++中,%m.nf 是一种用于格式化浮点数输出的格式说明符,其中:

  • m 表示输出的最小宽度。如果实际的输出宽度小于 m,则会在左侧填充空格以达到指定的宽度。宽度包含小数点本身。
  • n 表示小数部分的位数,即显示的小数点后的位数。如果小数部分的位数多于 n,则会进行四舍五入。
  • f 表示要输出的数据类型是浮点型

示例:

1
2
3
4
5
6
7
#include <stdio.h>

int main() {
    float num = 123.456789;
    printf("%8.3f\n", num);
    return 0;
}
  • %8.3f 的含义是:总宽度至少为 8 个字符,且显示 3 位小数。
  • 输出: 123.457(注意数字前面有两个空格)

代码参考

1
2
3
4
5
6
7
#include <cstdio>
int main() {
    double a;
    scanf("%lf", &a);
    printf("%.3f", a);
    return 0;
}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

本文由作者按照 CC BY 4.0 进行授权