【JS小记】处理牛客网编程题的输入输出
前言
不会用JS处理输入输出真的是浪费了春招笔试机会啊(ㄒoㄒ),以下只是给出示例处理,更多细节的处理要看题目要求我们取什么值。
JavaScript V8(6.0.0)
处理单行或固定行输入
输入例子1: 1 5 10 20 输出例子1: 1 5 10 20
function test(){ //有几行就用readline取几次 function test(){ let stringArr1 = readline().split(" "); let stringArr2 = readline().split(" "); print(stringArr1[0],stringArr1[1]); //print console均可以 print(stringArr2[0],stringArr2[1]); } test(); }
处理多行输入
输入包括两个正整数a,b(1 <= a,b <= 1000),输入数据包括多组。 输出a+b的结果。
输入例子2: 1 5 10 20 输出例子2: 6 30
function test(){ //处理多行输入,如果只需要处理单行或固定行,就不需要while,有几行就用readline取几次 while(line = readline()){ let stringArr = line.split(" "); let a = parseInt(stringArr[0]); //stringArr元素毕竟是字符串,需要处理成数值进行加法运算 let b = parseInt(stringArr[1]); print(a + b); } } test();
JavaScript Node(12.18.2)
处理单行输入
输入例子3: 1 5 输出例子3: 1 5
const readline = require(readline); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on(line,function(line){ var tokens = line.split( ); console.log(parseInt(tokens[0]), parseInt(tokens[1])); });
处理固定行输入
输入例子4: 2 1 5 10 20 输出例子4: 6 30
function test(){ const readline = require(readline); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let hang = -1; let store = []; rl.on(line,function(line){ if(hang == -1){ hang = parseInt(line[0]); } else{ store.push(line.split(" ")); if(hang == store.length){ //将所有行读到store数组里再进行逻辑操作 console.log(parseInt(store[0][0]) + parseInt(store[0][1])); console.log(parseInt(store[1][0]) + parseInt(store[1][1])); } } }); } test();
处理多行输入
输入例子5: 1 5 10 20 2 8 输出例子5: 6 30 10
function test(){ const readline = require(readline); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let index = 0; var store = []; rl.on(line,function(line){ if(line.split(" ").length != 0){ store.push(line.split(" ")); console.log(parseInt(store[index][0]) + parseInt(store[index][1])); index++; } }); } test();
参考
【1】 【2】
上一篇:
Java基础知识总结(2021版)
下一篇:
阿里巴巴this指向经典面试题