TypeScript > 牛客OJ在线编程常见输入输出练习场

文章目录

牛客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(' ')
相关推荐
Dragon Wu14 小时前
Electron Forge集成React Typescript完整步骤
前端·javascript·react.js·typescript·electron·reactjs
We་ct1 天前
LeetCode 56. 合并区间:区间重叠问题的核心解法与代码解析
前端·算法·leetcode·typescript
程序猿阿伟2 天前
《TypeScript中Protobuf到运行时类型安全的转换指南》
javascript·安全·typescript
We་ct2 天前
LeetCode 228. 汇总区间:解题思路+代码详解
前端·算法·leetcode·typescript
阿蒙Amon2 天前
TypeScript学习-第10章:模块与命名空间
学习·ubuntu·typescript
VT.馒头2 天前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
AAA阿giao3 天前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架
hedley(●'◡'●)3 天前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
百锦再3 天前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
小杨同学呀呀呀呀3 天前
Ant Design Vue <a-timeline>时间轴组件失效解决方案
前端·javascript·vue.js·typescript·anti-design-vue