1 条题解

  • 0
    @ 2025-9-16 1:02:08

    核心逻辑

    需按每个整数占8个字符宽度、右对齐的格式输出,中间用1个空格分隔。关键是利用格式化输出控制符指定宽度(默认右对齐):

    • 若整数位数<8,前面补空格至总宽度为8;
    • 若整数位数>8(如样例中123456789为9位),按实际位数输出(语言默认“最小宽度”规则,超过则正常显示)。

    代码实现

    C

    #include <stdio.h>
    
    int main() {
        int a, b, c;
        scanf("%d %d %d", &a, &b, &c);
        // %8d:占8字符宽度,右对齐输出整数
        printf("%8d %8d %8d\n", a, b, c);
        return 0;
    }
    

    C++

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        int a, b, c;
        cin >> a >> b >> c;
        // setw(8):设置下一个输出的宽度为8(默认右对齐)
        cout << setw(8) << a << " " << setw(8) << b << " " << setw(8) << c << endl;
        return 0;
    }
    

    Python

    a, b, c = map(int, input().split())
    # :8d:占8字符宽度,右对齐格式化整数
    print(f"{a:8d} {b:8d} {c:8d}")
    

    验证(样例输入123456789 0 -1

    • 123456789(9位,超8位):按实际输出123456789
    • 0(1位):补7个空格,输出 0
    • -1(2位):补6个空格,输出 -1
      最终结果123456789 0 -1,与样例一致。

    所有输入均按“8字符宽度+右对齐”规则输出,符合格式要求。

    • 1

    信息

    ID
    450
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    19
    已通过
    8
    上传者