牛客网、赛码网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();


### JavaScript牛客网平台上的输入输出 对于JavaScript在线编程环境中通常会遇到不同于常规浏览器或Node.js环境下的输入输出方式。为了适应这种特定的评测系统,开发者需采用专门的方法来获取输入并展示结果。 #### 获取输入 在基于V8引擎的环境下,可以利用`readline()`方法逐行读取输入直到结束标志出现为止[^1]。此过程可以通过循环结构不断调用`readline()`直至满足终止条件,例如检测到特定格式的数据作为文件结尾指示或是其他形式的停止信号。每读入一行字符串之后,可以根据实际需求对其进行解析处理,比如分割成数组元素以便后续运算: ```javascript let inputs = []; while (line = readline()) { let pair = line.split(' '); // 假设每一行为两个数值,则分别转换为整数类型存入临时变量a,b let a = parseInt(pair[0]); let b = parseInt(pair[1]); if (a === 0 && b === 0) break; // 将有效数据加入全局列表中等待进一步加工 inputs.push([a, b]); } ``` 上述代码片段展示了如何连续接收多组由空格分隔开来的两数组合,并将其保存下来供下一步骤使用。 #### 处理与输出 一旦收集齐所需的所有输入项后,就可以定义相应的逻辑函数来进行必要的计算工作了。这里以简单的加法为例说明怎样遍历之前积累起来的数据集并对各成员实施累加操作,最后通过内置命令打印最终答案给评判服务器知晓: ```javascript function addPairs(inputList){ inputList.forEach(([numA,numB],index)=>{ console.log(numA + numB); }); } addPairs(inputs); ``` 值得注意的是,这里的输出应当严格按照题目规定的格式要求完成;任何额外字符(包括但不限于多余的空白符)都可能导致评分失败。因此务必确保仅发送预期中的响应内容至标准输出流。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值