JS输入输出(ACM模式
使用
V8模式,主要使用
readline()读取每一行。
本质上输入的都是字符串,需要转化为数字。
同时也要注意不同的输入方式需要不同的处理。
1. 输入
注意输入和split后每个元素都是string,所以如果输入的是数字或者Number数组,需要转化数字。
1.1 一行输入一个int数字
用readline读取一行,然后转化为int。
ParseInt(readline())
1.2 一行为一个一维数组
① 输入为1 2 3的形式
.map(Number)实际就是遍历数组每一项,转化为数字。记住这种写法,最简便。
let a=readline().split(' ').map(Number)
② 输入为123的形式
与上面的区别是split的参数不是空格而是''。
let a=readline().split('').map(Number)
2. 输出(数组输出为输入类似的形式)
其余输出较简单,这里仅记录几种特殊不同情况的输出处理。
2.1 数组输出为1,2,3
- 使用
toString()方法,注意js的toString()转数组和其他语言不同,只是去掉括号,中间的数字和逗号都在。
let a=[1,2,3];
console.log(a.toString());
- 使用
join()方法把数组中的所有元素转换一个字符串。其中参数指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
let a=[1,2,3];
console.log(a.join()); //或者a.join(',')
2.2 数组输出为1 2 3
- 使用
join方法,指定空格为分隔符
let a=[1,2,3];
console.log(a.join(' '));
- 使用
...扩展运算符
let a=[1,2,3];
console.log(...a);
2.3 数组输出为123
使用join方法
let a=[1,2,3];
console.log(a.join(''));
这篇博客详细介绍了在JavaScript(V8引擎)环境中,针对ACM竞赛模式的输入输出处理方法。包括读取一行整数、一维数组的不同输入形式,并提供了相应的转化和输出策略。例如,使用readline()读取输入,通过split()和map()处理数组,以及toString()、join()和扩展运算符进行不同格式的数组输出。此外,还强调了输入和输出中字符串与数字之间的转换问题。
1367





