牛客网、赛码网javascript在线编程的输入输出

        之前做剑指offer的题,题目的函数都已定义,自己只需要写函数体,等到做公司真题,才发现函数这些都是不存在的,输入输出都需要自己定义,百度后,写这篇博客加深印象。

        首先,输入输出均采用nodeJS,nodeJS控制台默认输入是字符串类型,若需要数字类型需要进行转化。

        1、单行输入      

var readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line',function(line){
    //line为输入的单行字符串,split函数-通过空格将该行数据转换成数组
    var arr = line.split(' ');
    //数组arr的每一项都是字符串格式,若需要整型,则需要parseInt将其转换成数字
    console.log(parseInt(arr[0])+parseInt(srr[1]));
})

    2、多行输入

1)、输入所有行

var readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
var inputs = [];
rl.on('line',function(line){
    //trim()去除字符串两边的空白,line表示一行输入,最终得到的inputs数组的每一个元素表示一行输入。
    inputs.push(line.trim());
    //下面再对每一行输入进行处理
    ......
})

2)、输入多行

process.stdin.resume();
process.stdin.setEncoding('ascii');
var input = "";
var input_array = "";
process.stdin.on('line',function(line){
    input ++line;
});

process.stdin.on('end',function(){
    input_array = input.split("\n");
    //处理input
});

3)、规定读入num行    

var readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
var countLine = 1;//记录读取的行数
var tokens = [];
rl.on('line',function(line){
    tokens.push(line);
    if(countLine===num){
        //操作部分
    }else{
        countLine++;
    }
})

3、输出

    采用console.log();


猜你喜欢

转载自blog.csdn.net/qq_20901397/article/details/80207912