# ACM模式输出输出通用模板 | Cpp、Java、Python、Go、JS

很多录友苦于不熟悉 ACM 输入输出结构,在笔试和面试的时候,处理数据输入输出就花费了大量的时间,以至于算法题没写完,甚至是 根本就写不对输入输出的方式。

下面,我针对常见的25种 ACM输入与输出方式,给大家总结了模板写法PDF,包括了C++、Java、Python、Go、JS等主流编程语言

大家可以拿去直接“背诵”

每种输入输出,都配套的对应的卡码网练习题。

例如继续输入A+B,遇到 A、B 为0 的时候终止,对应的写法:

练习题:A+B问题III (opens new window)

c++:

#include<iostream>
using namespace std;
int main() {
    int a, b;
    while (cin >> a >> b) {
        if (a == 0 && b == 0) break;
        cout << a + b << endl;
    }
}
1
2
3
4
5
6
7
8
9

Java:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            if (a == 0 && b == 0) {
                break;
            }
            System.out.println(a + b);
        }
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Python:

import sys

while True:
    s = input().split() # 一行一行读取
    a, b = int(s[0]), int(s[1])
    if not a and not b: # 遇到 0, 0 则中断
        break
    print(a + b)
1
2
3
4
5
6
7
8

Go:

package main
import "fmt"
func main() {
	var a, b int
	for {
		_, err := fmt.Scan(&a, &b)
		if err != nil {
			break
		}
		if a == 0 && b == 0 {
			break
		}
		fmt.Println(a + b)
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

JavaScript:

// 引入readline模块来读取标准输入
const readline = require('readline');

// 创建readline接口
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

function preoceeInput() {
    rl.on('line', (input) => {
        const [a, b] = input.split(' ').map(Number);
        // # 遇到 0, 0 则中断
        if (a === 0 && b === 0) {
            return;
        } else {
            console.log(a + b);
        }
    });
}
preoceeInput()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

PDF 就是这样的,概括了25种ACM模式常见输入输出写法

# 领取方式

添加如下企业微信,通过之后就会发你这份PDF

如果已经有我的企业微信,直接回复:ACM,就可以了。

@2021-2024 代码随想录 版权所有 粤ICP备19156078号