20210907在线编程常见输入输出练习
编辑时间:2021/09/07
读完本节:大概花费15分钟,共2102词
文章目录
- 20210907在线编程常见输入输出练习
- 例1. a+b 输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。
- 例2. a+b 输入第一行包括一个数据组数t(1 <= t <= 100)接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)
- 例3. a+b 输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
- 例4. a+b 每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入,接下来n个正整数,即需要求和的每个正整数。
- 例5. a+b 输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。接下来t行, 每行一组数据。接下来n个正整数, 即需要求和的每个正整数。
- 例6. a+b 输入数据有多组, 每行表示一组输入数据。每行的第一个整数为整数的个数n(1 <= n <= 100)。接下来n个正整数, 即需要求和的每个正整数。
- 例7. 输入数据有多组, 每行表示一组输入数据。每行不定有n个整数,空格隔开。(1 <= n <= 100)。
- 例8. 对输入的字符串进行排序后输出
- 例9. 对输入的字符串进行排序后输.出多个测试用例,每个测试用例一行。每行通过空格隔开,有n个字符,n<100
- 例10. 对输入的字符串进行排序后输.出多个测试用例,每个测试用例一行。每行通过`,`隔开,有n个字符,n<100
- 例11. 返回通过率0
- 总
例1. a+b 输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。
1. 输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。
2. 输出描述:
输出a+b的结果
3. 测试用例
输入
1 5
10 20
输出
6
30
4. 代码
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a + b);
}
}
}
例2. a+b 输入第一行包括一个数据组数t(1 <= t <= 100)接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)
1. 输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100)
接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)
2. 输出描述:
输出a+b的结果
3. 测试用例
输入
2
1 5
10 20
输出
6
30
4. 代码
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int groupNum = sc.nextInt();
while(groupNum > 0){
long a = sc.nextLong();
long b = sc.nextLong();
System.out.println(a + b);
groupNum--;
}
}
}
例3. a+b 输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
1. 输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
2. 输出描述:
输出a+b的结果
3. 测试用例
输入
1 5
10 20
0 0
输出
6
30
4. 代码
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
long a = sc.nextLong();
long b = sc.nextLong();
if(a == 0l && b == 0l) break;
System.out.println(a + b);
}
}
}
例4. a+b 每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入,接下来n个正整数,即需要求和的每个正整数。
1. 输入描述:
输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。
2. 输出描述:
输出a+b的结果
3. 测试用例
输入
4 1 2 3 4
5 1 2 3 4 5
0
输出
10
15
4. 代码
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = br.readLine()) != null) {
String[] str = line.split(" ");
int n = Integer.parseInt(str[0]);
if (n == 0) {
break;
}
int sum = 0;
// 如果不用str.length,而用n,结束条件多个=
// 因为str.length = n+1,第一个正数个数和后面n个正整数
for (int i = 1; i <= n; i++) {
sum += Integer.parseInt(str[i]);
}
System.out.println(sum);
}
br.close();
}
}
例5. a+b 输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。接下来t行, 每行一组数据。接下来n个正整数, 即需要求和的每个正整数。
1. 输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
接下来t行, 每行一组数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
2. 输出描述:
输出a+b的结果
3. 测试用例
输入
2
4 1 2 3 4
5 1 2 3 4 5
输出
10
15
4. 代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int groupNum = Integer.parseInt(br.readLine());
while(groupNum > 0){
String[] str = br.readLine().split(" ");
int n = Integer.parseInt(str[0]);
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += Integer.parseInt(str[i]);
}
System.out.println(sum);
groupNum--;
}
br.close();
}
}
例6. a+b 输入数据有多组, 每行表示一组输入数据。每行的第一个整数为整数的个数n(1 <= n <= 100)。接下来n个正整数, 即需要求和的每个正整数。
1. 输入描述:
输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
2. 输出描述:
输出a+b的结果
3. 测试用例
输入
4 1 2 3 4
5 1 2 3 4 5
输出
10
15
4. 代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while((line=br.readLine()) != null){
String[] str = line.split(" ");
int range = Integer.parseInt(str[0]);
int sum = 0;
for(int i = 1; i <= range; i++){
sum += Integer.parseInt(str[i]);
}
System.out.println(sum);
}
br.close();
}
}
例7. 输入数据有多组, 每行表示一组输入数据。每行不定有n个整数,空格隔开。(1 <= n <= 100)。
1. 输入描述:
输入数据有多组, 每行表示一组输入数据。
每行不定有n个整数,空格隔开。(1 <= n <= 100)。
2. 输出描述:
输出a+b的结果
3. 测试用例
输入
1 2 3
4 5
0 0 0 0 0
输出
6
9
0
4. 代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while((line = br.readLine()) != null){
String[] str = line.split(" ");
int sum = 0;
for(int i = str.length - 1; i >= 0; --i){
sum += Integer.parseInt(str[i]);
}
System.out.println(sum);
}
br.close();
}
}
例8. 对输入的字符串进行排序后输出
1. 输入描述:
输入有两行,第一行n
第二行是n个空格隔开的字符串
2. 输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格
3. 测试用例
输入
5
c d a bb e
输出
a bb c d e
4. 代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
line = br.readLine();
String[] arr = line.split(" ");
Arrays.sort(arr);
for(int i = 0; i < arr.length - 1; ++i){
System.out.print(arr[i] + " ");
}
System.out.print(arr[arr.length - 1]);
br.close();
}
}
例9. 对输入的字符串进行排序后输.出多个测试用例,每个测试用例一行。每行通过空格隔开,有n个字符,n<100
1. 输入描述:
多个测试用例,每个测试用例一行。
每行通过空格隔开,有n个字符,n<100
2. 输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
3. 测试用例
输入
a c bb
f dddd
nowcoder
输出
a bb c
dddd f
nowcoder
4. 代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while((line = br.readLine()) != null){
String[] arr = line.split(" ");
Arrays.sort(arr);
for(int i = 0; i < arr.length - 1; i++){
System.out.print(arr[i] + " ");
}
System.out.print(arr[arr.length - 1]);
System.out.println();
}
br.close();
}
}
例10. 对输入的字符串进行排序后输.出多个测试用例,每个测试用例一行。每行通过,
隔开,有n个字符,n<100
1. 输入描述:
多个测试用例,每个测试用例一行。
每行通过,
隔开,有n个字符,n<100
2. 输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过,
隔开
3. 测试用例
输入
a,c,bb
f,dddd
nowcoder
输出
a,bb,c
dddd,f
nowcoder
4. 代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while((line = br.readLine()) != null){
String[] arr = line.split(",");
Arrays.sort(arr);
for(int i = 0; i < arr.length - 1; i++){
System.out.print(arr[i] + ",");
}
System.out.print(arr[arr.length - 1]);
System.out.println();
}
br.close();
}
}
例11. 返回通过率0
1. 输入描述:
输入有多组测试用例,每组空格隔开两个整数
2. 输出描述:
对于每组数据输出一行两个整数的和
3. 测试用例
输入
123
100 100
10000000000000 1
输出
123
200
10000000000001
4. 代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while((line=br.readLine()) != null){
String[] str = line.split(" ");
long sum = 0;
for(String i:str){
sum += Long.parseLong(i);
}
System.out.println(sum);
}
}
}
总
提交不通过,或者通过率为零,这不是系统的错,可能是因为
1.对题目理解错了,代码只过了样例或你自己的数据
2.代码逻辑有问题,代码只过了样例或你自己的数据
总之就是你的代码只是过了样例和自测数据,后台的测试数据你根本不可见,要多自己思考。