处理单行输入(JavaScript(Node)):
var readline = require('readline')
const r1 = readline.createInterface({
input: process.stdin,
output: process.stdout
})
r1.on('line',function(line){
var res = line.split('').reverse().join('')
console.log(res)
})
处理多行输入(已知输入行数)(JavaScript(Node)):
var readline = require('readline')
const r1 = readline.createInterface({
input: process.stdin,
output: process.stdout
})
var Num = 2 // 每次需要读取两行再操作
var inputs = []
r1.on('line',function(input){
// 每读取一行,就push到inputs中,当inputs的长度为2时,执行操作
inputs.push(input.trim())
if(inputs.length === Num){
var res = []
var s1 = inputs[0]
var s2 = inputs[1]
var len = s1.length
for(let i=0;i
res.push(s1[i])
res.push(s2[len-1-i])
}
res = res.join('')
console.log(res) // 用console.log()代替return
// 把inputs置空,接着读取下一行
inputs = []
}
})
处理多行输入(行数不确定)
这种类型题目大多是第一个输入为数据的组数,然后会输入这几组数据,即为1+n模式。所以每组数据的第一个一定是接下来要获取输入的行数,后面这部分相当于已知行数,只需要在上面的基础上添加获取行数逻辑即可。
var readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var num = 0;
var inputs = [];
rl.on("line", function(line) {
if (num === 0) {
num = parseInt(line.trim()); // num 取第一行的数
} else {
inputs.push(line.trim());
if (num === inputs.length) {
// 当取够一组数,再进行操作
var res;
inputs.sort(function(a, b) {
return a - b;
});
if (num % 2) {
res = inputs[(num - 1) / 2];
} else {
res = Math.floor(
(parseInt(inputs[num / 2]) + parseInt(inputs[num / 2 - 1])) / 2
);
}
console.log(res); // 用console.log代替return
// 将num置为0,这样下一次读取的第一行不会再inputs中
inputs = [];
num = 0;
}
}
});