文章目录
- 牛客OJ在线编程常见输入输出练习场
- [A A+B(1)](#A A+B(1))
- [B A+B(2)](#B A+B(2))
- [C A+B(3)](#C A+B(3))
- [D A+B(4)](#D A+B(4))
- [E A+B(5)](#E A+B(5))
- [F A+B(6)](#F A+B(6))
- [G A+B(7)](#G A+B(7))
- [H 字符串排序(1)](#H 字符串排序(1))
- [I 字符串排序(2)](#I 字符串排序(2))
- [J 字符串排序(3)](#J 字符串排序(3))
- TypeScript输入输出要点总结
牛客OJ在线编程常见输入输出练习场
https://ac.nowcoder.com/acm/contest/5647
A A+B(1)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const nums = line.split(' ').map(Number);
console.log(nums[0] + nums[1]);
});
B A+B(2)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const lines: string[] = [];
rl.on('line', (line) => {
lines.push(line);
}).on('close', () => {
const t = parseInt(lines[0]);
for (let i = 1; i <= t; i++) {
const nums = lines[i].split(' ').map(Number);
console.log(nums[0] + nums[1]);
}
});
C A+B(3)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const nums = line.split(' ').map(Number);
if (nums[0] === 0 && nums[1] === 0) {
rl.close();
return;
}
console.log(nums[0] + nums[1]);
});
D A+B(4)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const nums = line.split(' ').map(Number);
if (nums[0] === 0) {
rl.close();
return;
}
const sum = nums.slice(1).reduce((a, b) => a + b, 0);
console.log(sum);
});
E A+B(5)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const lines: string[] = [];
rl.on('line', (line) => {
lines.push(line);
}).on('close', () => {
const t = parseInt(lines[0]);
for (let i = 1; i <= t; i++) {
const nums = lines[i].split(' ').map(Number);
const sum = nums.slice(1).reduce((a, b) => a + b, 0);
console.log(sum);
}
});
F A+B(6)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const nums = line.split(' ').map(Number);
const sum = nums.slice(1).reduce((a, b) => a + b, 0);
console.log(sum);
});
G A+B(7)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const sum = line.split(' ').map(Number).reduce((a, b) => a + b, 0);
console.log(sum);
});
H 字符串排序(1)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const lines: string[] = [];
rl.on('line', (line) => {
lines.push(line);
}).on('close', () => {
const strs = lines[1].split(' ');
strs.sort();
console.log(strs.join(' '));
});
I 字符串排序(2)
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const strs = line.split(' ');
strs.sort();
console.log(strs.join(' '));
});
J 字符串排序(3)
链接:https://ac.nowcoder.com/acm/contest/5647/J
输入描述:
多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符,n<100
输出描述:
对于每组用例输出一行排序后的字符串,用','隔开,无结尾空格
typescript
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const strs = line.trim().split(',');
strs.sort();
console.log(strs.join(','));
});
TypeScript输入输出要点总结
| 场景 | 写法 |
|---|---|
| 引入readline模块 | import * as readline from 'readline'; |
| 创建接口 | const rl = readline.createInterface({input: process.stdin, output: process.stdout}); |
| 逐行读取 | rl.on('line', (line) => {...}) |
| 读取完成回调 | rl.on('close', () => {...}) |
| 按空格分割 | line.split(' ') |
| 转换为整数数组 | .map(Number) |
| 求和 | nums.reduce((a, b) => a + b, 0) |
| 字符串排序 | strs.sort() |
| 用分隔符连接 | strs.join(' ') |