牛客acm输入输出

52 阅读1分钟

1.单行输入

import * as readline from 'readline';
// const readline = require('readline')

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on('line', (line) => {
    // 处理单行输入
    const n = parseInt(line.trim());
    console.log(n * 2); // 处理后立即输出
    rl.close(); // 关闭输入流
});

2.多行输入 已知行数

const readline = require('readline')

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let n: number;
let count = 0;
const inputLines: string[] = [];

rl.on('line', (line) => {
    if (count === 0) {
        n = parseInt(line.trim()); // 第一行是行数
    } else {
        inputLines.push(line); // 收集后续的n行数据
    }
    count++;
    
    if (count > n) { // 数据收集完毕
        rl.close();
    }
});

rl.on('close', () => {
    // 处理所有输入数据
    console.log(inputLines.join('\n'));
});

3.多行输入 特定符号结束

const readline = require('readline')

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

const inputs: string[] = [];

rl.on('line', (line) => {
    if (line === 'END') { // 假设输入以END结束
        rl.close();
        return;
    }
    inputs.push(line);
});

rl.on('close', () => {
    // 处理所有输入
    console.log(inputs.length);
});

3.多行输入

const readline = require('readline')

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});


const inputLines: string[] = [];

rl.on('line', (line) => {

    inputLines.push(line.trim());
});

rl.on('close', () => {
    // 处理所有输入
    console.log(inputs.length);

    for (let i = 0; i < inputLines.length; i++) {
        let[a, b] = inputLines[i].split(' ').map(Number)
        console.log(a + b)
    }
});