ACM输入输出模板#
很多朋友在求职的笔试和面试中,因为对ACM模式的输入输出不熟悉,导致无法完成算法题。输入输出是写算法题的基础,大家可以根据自己的首选语言进行"背诵"。
下面,针对常见的ACM输入与输出,给大家总结了模板写法,包括了C++、Python、Go、Java、JavaScript等主流编程语言。示例代码均为“A+B”问题,题目描述为输入A和B两个数,要求输出A+B。
1.多组数据,每组第一行为n,之后输入n行两个整数#
练习题:A+B问题I
输入:第一行是一个整数N,表示后面会有N行a和b,通过空格隔开。
C++#
#include<iostream>
using namespace std;
int main() {
int n, a, b;
while (cin >> n) {
while (n--) {
cin >> a >> b;
cout << a + b << endl;
}
}
}
Python#
n = int(input())
for _ in range(n):
a, b = map(int, input().split())
print(a + b)
Go#
package main
import "fmt"
func main(){
var n, a, b int
for {
_, err := fmt.Scanf("%d", &n)
if err != nil {
break
}
for n > 0 {
_, err := fmt.Scanf("%d %d", &a, &b)
if err != nil {
break
}
fmt.Println(a + b)
n --
}
}
}
Java#
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();
while (n -- > 0) {
int a = scanner.nextInt();
int b = scanner.nextInt();
System.out.println(a + b);
}
}
}
}
JavaScript#
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let n, count = 0;
rl.on('line', (input) => {
if (!n) {
n = +line;
} else {
const [a, b] = line.split(' ').map(Number);
console.log(a + b)…
if (++ count >= n) rl.close();
}
})
1.多行输入,每行两个整数#
练习题:A+B问题II
输入:包含一系列的a和b对,通过空格隔开。一对a和b占一行。
C++#
#include<iostream>
using namespace std;
int main() {
int a, b;
while(cin >> a >> b) cout << a + b << endl;
}
Python#
while True:
try:
a, b = map(int, input().split())
print(a + b)
except:
break
Go#
package main
import "fmt"
func main(){
var a, b int
for {
_, err := fmt.Scanf("%d %d", &a, &b)
if err != nil {
break
}
fmt.Println(a + b)
}
}
Java#
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int a = in.nextInt();
int b = in.nextInt();
System.out.println( a + b );
}
}
}
JavaScript#
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (input) => {
const [a, b] = input.split(' ').map(Number);
console.log(a + b);
})
