工欲善其事必先利其器--oj刷题前你需要知道的事

本文分享了如何利用JavaScript的Node.js环境进行在线编程题的练习,通过实例介绍了单行输入输出、多行输入计算和等常见问题的处理方式,帮助提升编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

除了前面提到的javascript v8,前端还可以用nodejs刷题哦
掌握javascript nodejs编程,横行牛客网和OJ啊哈哈哈

 寥寥几句吧

 简单举个栗子

// 引入readline模块
var readline = require('readline');
	
//创建readline接口实例
var readlineTest = readline.createInterface({
	input:process.stdin,
    output:process.stdout
});
// on事件监听
readlineTest.on('line', function(line){
	console.log("您输入了:"+line);
    r1.close();
});
	
// close事件监听
readlineTest.on('close', function() {
    process.exit(0);
});

 1.单行输入,单行输出

监听line事件获取单行输入。console.log()实现单行输出。

描述:单行输入两个数字,输出A+B =C
输入:3 5 
输出:3 + 5 = 8

var readline = require('readline')
const readlineTest = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});
readlineTest.on('line', function(line) {
  // line为输入的单行字符串,split函数--通过空格将该行数据转换为数组。
  var arr= line.split(' ')
  var result = parseInt(arr[0]) + parseInt(arr[1]);
  // 数组arr的每一项都是字符串格式,如果我们需要整型,则需要parseInt将其转换为数字
  console.log( parseInt(arr[0]) + " + " + parseInt(arr[1])+ " = "+ result);
  readlineTest.close();
})
readlineTest.on('close', function() {
    process.exit(0);  
});

2.指定行输入,单行输出

描述:输入4行数字,计算和。

输入:3
           4
           5
           6

输出:18

var readline = require('readline');
var readlineTest = readline.createInterface({
    input: process.stdin,
    output: process.stdout 
});

var numberArray=[];//创建数值数组来存储每一行的数据
var numberArrayIndex=0;//初始化数值数组的索引
var lineCounts=-1;  // 指定行数
var result=0;      //初始化结果值
var str="";        //整合式子
readlineTest.on('line', function(line){
    //将每一行的内容转换为数字后添加至数值数组numberArray
    if(lineCounts<0){
      lineCounts = parseInt(line);
    }else{
      numberArray.push(Number(line));
    }
    //将数组每个元素叠加后赋值给result
    result = numberArray.reduce(function(total,nextTemp){
        return total+nextTemp;
    },0);
    //当已输入的行数达到最大输入的行数时,结束readline.Interface实例
    if(numberArray.length === lineCounts){ 
        //打印结果式子
        console.log(result);
        readlineTest.close();
    }
});

readlineTest.on('close', function() {
    process.exit(0);  
});

3.未知多行输入,未知多行输出
   不对程序进行结束

描述:计算每行两个数组的和,不指定行数

输入: 3 5
            4 5
            5 5

输出:8
           9
           10

var readline = require('readline')
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
})
rl.on('line', function(line) {
  var arr = line.split(' ')
  var result = parseInt(arr[0]) + parseInt(arr[1]);
  console.log(result);
})

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值