输出第二个整数

GitHub跳转原题关系图返回列表

读入一行三个整数后原样输出第二个:scanf("%lld %lld %lld") 后只取中间值。

OJ: roj

题目 ID: 1002

难度:入门

标签:输入输出cpp

创建: 2026-09-29 11:15

更新: 2026-10-04 22:07

题目描述

输入一行三个 32 位有符号整数(空格分隔),输出第二个。数据范围 −231≤a,b,c≤231−1-2^{31}\le a,b,c\le 2^{31}-1。

text
输入:123 456 789
输出:456

思路

用 scanf("%lld %lld %lld", &a, &b, &c) 读入三个整数到 a,b,c,再 printf("%lld\n", b) 输出第二个。

参考代码

Python 版:

python
#!/usr/bin/env python3
# Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
# rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
# rainboy的学习导航网站: https://idx.roj.ac.cn
# create_at: 2026-09-29 11:17
# update_at: 2026-09-29 11:17

import sys


def solve() -> None:
    """读入一行三个整数,输出第二个。"""
    # `_` 收下第一个、`*_` 吃掉第三个,只有中间的值留下;解包失败即说明输入不是三个整数
    _, second, *_ = map(int, sys.stdin.buffer.read().split())
    print(second)


if __name__ == "__main__":
    solve()

C++ 版(同一算法):

cpp
/**
 * Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
 * rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
 * rainboy的学习导航网站: https://idx.roj.ac.cn
 * create_at: 2026-10-04 22:06
 * update_at: 2026-10-04 22:09
 */
#include <cstdio>

typedef long long ll;

ll a, b, c; // 读入的三个整数

int main() {
    // 一行三个 32 位有符号整数,按空格切分后取中间那个
    scanf("%lld %lld %lld", &a, &b, &c);
    printf("%lld\n", b);
    return 0;
}