前提:在牛客网刷编程题时,编译器需要自己去写输入输出,其实牛客网已经提供了针对JavaScript(V8 6.0.0)的解决办法,在这里简要介绍一下,希望对大家有所帮助。
一、JavaScript(V8 6.0.0)操作指南
使用指南参考链接:牛客网JavaScript(V8)输入输出操作指南
一、单行输入
意义:使用readline()接收输入的每一行,但是输入的数据一般是字符串形式,需要使用 parseInt()转成整型。
代码:
//获取单行输入的数据
var n = parseInt(readline());
二、多行输入
意义:它基于的readline()并不会像JS语言一样后面的会覆盖前面的语句,在这里readline是可以重载的,也就是说每一次调用readline()就会识别一行输入数据,多行输入其实就是写多个readline()即可。
1、固定行数
如输入:3
1 5
10 20
代码:
//获取第一行输入的数据,即总共要输入多少行
var n = parseInt(readline());
//其余行的输入数据获取
for(var i=0;i<n;i++){
var line = readline();//遍历行数,获取每一行的字符
.......//剩余的代码
}
2、任意行数
如输入:2 45
1 5
10 20
代码:
while(line = readline(){
//使用while循环,只要还有行数存在,就会获取输入数据
//获取到的字符串会放在数组中
}
三、输出
直接使用 print()和console.log()都可以。
多行输入会根据你的print个数来自动折行;或者利用print(lines + ‘\n’);来折行。
二、具体案例代码
OJ在线编程常见输入输出练习场链接:https://ac.nowcoder.com/acm/contest/5657#question
题目一:
1、题目描述
2、代码
// 求和函数
function add(a,b){
return a+b;
}
// 多行输入
while(line = readline()){
// 使用空格将字符串转为数组
let lines = line.split(" ")
// parseInt强制类型转换
print(add(parseInt(lines[0]),parseInt(lines[1])))
}
题目二:
1、题目描述
2、代码
function add(a,b){
return a+b
}
let n = parseInt(readline());
for(let i=0; i<n; i++){
let lines = readline().split(" ");
print(add(parseInt(lines[0]), parseInt(lines[1])));
}
题目三:
1、题目描述
2、代码
function add(a,b){
return a+b;
}
while(line = readline()){
let lines = line.split(" ")
if(lines[0] == 0 && lines[1] ==0){
break;
}else{
print(add(parseInt(lines[0]),parseInt(lines[1])))
}
}
题目四:
1、题目描述
2、代码
// 求和函数
function sum(arr){
let sum = 0
for(var i=1;i<arr.length;i++){
sum += parseInt(arr[i])
}
return sum;
}
// 获取多行输入
while(line = readline()){
let lines = line.split(" ")
// 判断n为0的时候结束输入。
if(lines[0] == 0){
break;
}else{
print(sum(lines))
}
}
题目五:
1、题目描述
2、代码
function sum(arr){
let sum = 0
for(var i= 1;i <arr.length;i++){
sum += parseInt(arr[i])
}
return sum;
}
// 读取第一行的值,数值强制转换成整型
let n = parseInt(readline())
while(line = readline()){
let lines = line.split(" ")
print(sum(lines))
}
题目六:
1、题目描述
2、代码
function sum(arr){
let sum = 0
for(var i=1;i<arr.length;i++){
sum += parseInt(arr[i])
}
return sum;
}
while(line = readline()){
let lines = line.split(" ")
print(sum(lines))
}
题目七:
1、题目描述
2、代码
function sum(arr){
let sum = 0;
arr.map(item =>{
sum += parseInt(item)
})
return sum;
}
while(line = readline()){
let lines = line.split(" ")
print(sum(lines))
}
题目八:
1、题目描述
2、代码
var n = parseInt(readline());
var arr = readline().split(" ");
print(arr.sort().join(" "))
题目九:
1、题目描述
2、代码
while(line = readline()){
let lines = line.split(" ")
print(lines.sort().join(' '))
}
题目十:
1、题目描述
2、代码
while(line = readline()){
let lines = line.split(",")
print(lines.sort().join(','))
}
题目十一:
1、题目描述
2、代码
function add(a,b){
return a+b;
}
while(line = readline()){
let lines = line.split(" ")
print(add(parseInt(lines[0]),parseInt(lines[1])))
}