本文共 1960 字,大约阅读时间需要 6 分钟。
每一次调用readline()就会识别一行输入数据,多行输入其实就是写多个readline()即可。
固定行数输入:
任意行数输入:
注意:readline得到的是字符串,计算需要转化为数字
输出
牛客网输出函数用print()和console.log()都可以。多行输入会根据你的print个数来自动折行;或者利用print(lines + ‘\n’);来折行。
例一:
while(line = readline()){ // readline 得到的是字符串 let p = line.split(' '); let a = parseInt(p[0]); // 单行第一个参数 转化成了数字 let b = parseInt(p[1]); // 单行第二个参数 转化成了数字 print(a+b);}
例二:
let K = parseInt(readline()); // 读取行数 let inputs = []; for(let i = 0;i < K; i++){ line = readline() let p = line.split(' '); inputs.push(p) } function add(inputs){ // 得到 inputs 后,用函数处理 for(let i=0; i<2*K; i++){ let a = parseInt(inputs[i]); let b = parseInt(inputs[i+1]) print(a+b); i = i+1 }} add(inputs)
例三:
输入包括两个正整数a,b,输入数据有多组,如果输入为0,则结束输入。
let inputs = [];let K = 0 while(line = readline()){ let p = line.split(' '); let a = parseInt(p[0]); let b = parseInt(p[1]) if(a==0 && b==0) break; inputs = inputs.concat(p) K++} function add(inputs){ // 得到 inputs 后,用函数处理 for(let i=0; i<2*K; i++){ let a = parseInt(inputs[i]); let b = parseInt(inputs[i+1]) print(a+b); i = i+1 }} add(inputs)
例四:
输入数据包括多组。 每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100),n为0的时候结束输入。接下来n个正整数,即需要求和的每个正整数。while(line = readline()){ let add = 0 let p = line.split(' '); let n = parseInt(p[0]); if(n == 0)break; for(let i=1; i<=n; i++){ add = add + parseInt(p[i]); } print(add);}
例五:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。 注意:多写一行读取提示性输入,第一行没用,用readline消耗掉 接下来t行, 每行一组数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。let k = readline()//多写一行读取提示性输入,第一行没用,用readline消耗掉while(line = readline()){ let add = 0 let p = line.split(' '); let n = parseInt(p[0]); if(n == 0)break; for(let i=1; i<=n; i++){ add = add + parseInt(p[i]); } print(add);}
例六:对输入的字符串进行排序后输出
let k = readline();let line = readline();let p = line.split(' ')print(p.sort().join(' '))
转载地址:http://biuvi.baihongyu.com/