牛客网编程题python输入输出_牛客网刷题处理输入输出

处理单行输入(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模式。所以每组数据的第一个一定是接下来要获取输入的行数,后面这部分相当于已知行数,只需要在上面的基础上添加获取行数逻辑即可。

bVbFkWV

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;

}

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值