格式化输出

浮点数

有一双精度值d=1.23456789,从键盘输入输出值要求的宽度和小数位数(0<宽度和小叔位数<=10),要求按该输出格式要求输出d。
如:输入:8(输出值要求的宽度) 4(小数位数),要求输出: 1.2346(数值前面有2个空格)。

#include <stdio.h>

int main() {
    int width, precision;
    double d = 1.23456789;

    // 从键盘输入要求的宽度和小数位数
    scanf("%d %d", &width, &precision);

    // 输出格式化的值,注意要加上适当的宽度和小数位数
    printf("%*.*f\n", width, precision, d);

    return 0;
}

代码说明:

输入:
程序使用 scanf 从键盘读取两个整数:width(输出值的宽度)和 precision(小数位数)。

格式化输出:
使用 printf 函数的格式符 %.f:
第一个 * 表示宽度,由变量 width 提供。
第二个 * 表示小数位数,由变量 precision 提供。
f 表示以浮点数格式输出。

输出效果:
当用户输入 8 和 4 时,程序将输出 1.2346(前面有两个空格,总宽度为8,小数位数为4)。

注意事项:
确保输入的宽度和小数位数均在规定范围内(0 < 宽度和小数位数 <= 10),否则可能导致未定义行为或格式错误。您可以添加输入验证来保证这一点。

字符串

和浮点数不同

posted @ 2024-10-11 23:39  某朝  阅读(27)  评论(0)    收藏  举报