文章目录
- 1、多行输入,每行两个整数
- 2、多组数据,每组第一行为n,之后输入n行两个整数
- 3、输入若干行,每行输入两个整数,遇到特定条件终止
- 4、若干行输⼊,遇到0终止,每行第⼀个数为N,表示本行后面有N个数
- 5、若干行输入,每行包括两个整数a和b,由空格分隔,每行输出后接一个空行。
- 6、多组n行数据,每行先输入一个整数N,然后在同一行内输入M个整数,每组输出之间输出一个空行。
- 7、多组测试样例,每组输入数据为字符串,字符用空格分隔,输出为小数点后两位
- 8、多组测试用例,第一行为正整数n,第二行为n个正整数,n=0时,结束输入,每组输出结果的下面都输出一个空行。
- 9、多组测试数据,每组数据只有一个整数,对于每组输入数据,输出一行,每组数据下方有一个空行。
- 10、多组测试数据,每个测试实例包括2个整数M,K(2<=k<=M<=1000)。M=0,K=0代表输入结束。
- 11、多组测试数据,首先输入一个整数N,接下来N行每行输入两个整数a和b,读取输入数据到Map。
- 12、多行输入,每行输入为一个字符和一个整数,遇到特殊字符结束。
- 13、第一行是一个整数n,表示一共有n组测试数据,之后输入n行字符串。
- 14、第一行是一个整数n,然后是n组数据,每组数据2行,每行为一个字符串,为每组数据输出一个字符串,每组输出占一行。
- 15、多组测试数据,第一行是一个整数n,接下来是n组字符串,输出字符串。
1、多行输入,每行两个整数
C++
#include<iostream>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) cout << a + b << endl;
}
Java
import java.lang.*;
import java.util.*;
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);
}
}
}
2、多组数据,每组第一行为n,之后输入n行两个整数
C++
#include<iostream>
using namespace std;
int main() {
int n, a, b;
while (cin >> n) {
while (n--) {
cin >> a >> b;
cout << a + b << endl;
}
}
}
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);
}
}
}
}
3、输入若干行,每行输入两个整数,遇到特定条件终止
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;
}
}
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);
}
}
}
4、若干行输⼊,遇到0终止,每行第⼀个数为N,表示本行后面有N个数
C++
#include<iostream>
using namespace std;
int main(){
int n, a;
while (cin >> n) {
if (n == 0) break;
// 计算累加值
int sum = 0;
while (n--) {
cin >> a;
sum += a;
}
cout << sum << endl;
}
}
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();
if (n == 0) {
break;
}
int sum = 0;
for (int i = 0; i < n; i++) {
sum += scanner.nextInt();
}
System.out.println(sum);
}
}
}
5、若干行输入,每行包括两个整数a和b,由空格分隔,每行输出后接一个空行。
C++
#include<iostream>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) cout << a + b << endl << endl;
}
Java
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a + b);
System.out.println();
}
}
}
6、多组n行数据,每行先输入一个整数N,然后在同一行内输入M个整数,每组输出之间输出一个空行。
C++
#include<iostream>
using namespace std;
int main() {
int n, m, a;
// 输⼊多组数据
while (cin >> n) {
// 每组数据有n⾏
while(n--) {
cin >> m;
int sum = 0;
// 每⾏有m个
while(m--) {
cin >> a;
sum += a;
}
cout << sum << endl;
cout << endl;
}
}
}
Java
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
int N = sc.nextInt();
// 每组有n⾏数据
while(N-- > 0){
int M = sc.nextInt();
int sum = 0;
// 每⾏有m个数据
while(M-- > 0){
sum += sc.nextInt();
}
System.out.println(sum);
if(N > 0) System.out.println();
}
}
}
}
7、多组测试样例,每组输入数据为字符串,字符用空格分隔,输出为小数点后两位
C++
#include <iostream>
using namespace std;
int main() {
string s;
while (getline(cin, s)) { // 接受⼀整⾏字符串
for(int i = 0; i < s.size();i++) { // 遍历字符串
}
}
}
Java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String line = in.nextLine(); // 接收⼀整⾏字符串作为输⼊
String[] items = line.split(" "); // 字符串分割成数组
for (String item : items) { // 遍历数组
}
}
}
}
8、多组测试用例,第一行为正整数n,第二行为n个正整数,n=0时,结束输入,每组输出结果的下面都输出一个空行。
C++
#include<iostream>
#include<vector>
using namespace std;
int main() {
int n;
while (cin >> n) {
if (n == 0) break;
// 创建vector
vector<int> nums = vector<int>(n, 0);
// 输⼊⼀组数据
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
// 遍历
for (int i = 0; i < n; i++) {
cout << nums[i];
}
cout << result << endl;
cout<< endl;
}
}
Java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
Integer size = scanner.nextInt();
if (size == 0) {
break;
}
// 创建list
ArrayList<Integer> list = new ArrayList<>();
// 添加⼀组数据到list中
for (int i = 0; i < size; i++) {
int num = scanner.nextInt();
list.add(num);
}
// 遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println(res);
System.out.println();
}
}
}
9、多组测试数据,每组数据只有一个整数,对于每组输入数据,输出一行,每组数据下方有一个空行。
C++
#include<iostream>
using namespace std;
int main() {
int n, a;
while (cin >> n) {
while (n != 0) {
a = (n % 10); // 获取各位数据
n = n / 10;
}
cout << result << endl;
cout << endl;
}
}
Java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
int n = in.nextInt();
while (n > 0) {
int tmp = n % 10; // 获取各位数据
n /= 10;
}
System.out.println(res);
System.out.println();
}
}
}
10、多组测试数据,每个测试实例包括2个整数M,K(2<=k<=M<=1000)。M=0,K=0代表输入结束。
C++
#include<iostream>
using namespace std;
int main() {
int m, k;
while (cin >> m >> k) {
if (m == 0 && k == 0) break;
int sum = m + m / k; // 第⼀轮回得到总话费
cout << sum << endl;
}
}
Java
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int m = sc.nextInt();
int k = sc.nextInt();
if (m == 0 && k == 0) break;
int sum = 0;
System.out.println(sum);
}
}
}
11、多组测试数据,首先输入一个整数N,接下来N行每行输入两个整数a和b,读取输入数据到Map。
C++
#include<iostream>
#include<vector>
using namespace std;
int main() {
int n, a, b;
vector<int> nums = vector<int>(30, 0); // 使⽤数组来记录映射关系,初始化为0
while (cin >> n) {
while (n--) {
cin >> a >> b;
nums[a] = b; // 记录映射关系
}
}
}
Java
import java.util.*;
public class Main{
static Map<Integer, Integer> map = new HashMap();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
map.put(a, b);
}
}
}
}
12、多行输入,每行输入为一个字符和一个整数,遇到特殊字符结束。
C++
#include<iostream>
using namespace std;
int main() {
char c;
int n;
while(cin >> c){
if(c == '@')
break;
cin >> n;
myprint(c, n);
}
return 0;
}
Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String line = sc.nextLine();
if (line.equals("@"))
break;
String[] inputs = line.split(" ");
char ch = inputs[0].charAt(0);
int n = Integer.parseInt(inputs[1]);
}
sc.close();
}
}
13、第一行是一个整数n,表示一共有n组测试数据,之后输入n行字符串。
C++
#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
string result, s;
cin >> n;
getchar(); // 吸收⼀个回⻋,因为输⼊n之后,要输⼊⼀个回⻋
while (n--) {
getline(cin, s);
for (int i = 1; i < s.size() - 1; i++) {
}
cout << result << endl;
}
}
Java
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n=in.nextInt();
in.nextLine();
for (int j = 0; j < n; j++) {
String s=in.nextLine();
StringBuilder sb=new StringBuilder();
System.out.println(sb.toString().toUpperCase());
}
}
}
14、第一行是一个整数n,然后是n组数据,每组数据2行,每行为一个字符串,为每组数据输出一个字符串,每组输出占一行。
C++
#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
getchar(); // 吸收n后的⼀个回⻋
while (n--) {
string s, t;
cin >> s >> t;
string result = "";
cout << result << endl;
}
}
Java
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
for (int i = 0; i < n; i++) {
String a = in.next();
String b = in.next();
StringBuilder sb = new StringBuilder(a);
System.out.println(sb.toString());
}
}
}
15、多组测试数据,第一行是一个整数n,接下来是n组字符串,输出字符串。
C++
#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
string s;
while (n--) {
cin >> s;
cout << s << endl;
}
}
Java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str = null;
while((str = reader.readLine())!= null){
StringTokenizer tokenizer = new StringTokenizer(str);
int n = Integer.parseInt(tokenizer.nextToken());
for(int i = 0; i < n; i++){
String s = reader.readLine();
StringBuilder sb = new StringBuilder();
}
}
}
}
标签:Java,Scanner,int,System,ACM,while,C++
From: https://blog.csdn.net/qq_56699753/article/details/144154232