【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指向经典面试题
