快速学会ACM模式 -- Java

练习地址

求和

输入描述:

输入有多组测试用例,每组空格隔开两个整数

输出描述:

对于每组数据输出一行两个整数的和

输入

1 1

输出

2
import java.util.*;
import java.util.stream.*;
public class Main{
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
           String[] array = sc.nextLine().split(" ");
           long a = Long.parseLong(array[0]);
           long b = Long.parseLong(array[1]);
            System.out.println(a + b);
        }
       
    }
}

求和C

输入描述:

输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入

输出描述:

输出a+b的结果

输入

1 5
10 20
0 0

输出

6
30
import java.util.Scanner;

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

求和D

输入描述:

输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。

输出描述:

每组数据输出求和的结果

输入

4 1 2 3 4
5 1 2 3 4 5
0

输出

10
15
import java.util.*;
public class Main{
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            String[] array = sc.nextLine().split(" ");
            int count = Integer.parseInt(array[0]);    
            if(count == 0) return;
            int sum = 0;
            for(int i=1;i<array.length;i++){
                sum += Integer.parseInt(array[i]);
            }
            System.out.println(sum);
        }
    }
}

求和E

输入描述:

输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
接下来t行, 每行一组数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。

输出描述:

每组数据输出求和的结果

输入

2
4 1 2 3 4
5 1 2 3 4 5

输出

10
15
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 读取 t
        int t = in.nextInt();
        while (t > 0) {
            // 读取行首 n
            int n = in.nextInt();
            // 求和 n 个数
            int sum = 0;
            for (int i = 0; i < n; i ++) {
                sum = sum + in.nextInt();
            }
            System.out.println(sum);
            t--;
        }
    }
}

求和G

输入描述:

输入数据有多组, 每行表示一组输入数据。

每行不定有n个整数,空格隔开。(1 <= n <= 100)。

输出描述:

每组数据输出求和的结果

输入

1 2 3
4 5
0 0 0 0 0

输出

6
9
0
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String[] arr = sc.nextLine().split(" ");
            int sum = 0;
            for (int i = 0; i < arr.length; i++) {
                sum += Integer.parseInt(arr[i]);
            }
            System.out.println(sum);
        }
    }
}

字符串排序1

输入描述:

输入有两行,第一行n

第二行是n个字符串,字符串之间用空格隔开

输出描述:

输出一行排序后的字符串,空格隔开,无结尾空格

输入

5
c d a bb e

输出

a bb c d e
import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int r = Integer.parseInt(in.nextLine());
        String[] strs = in.nextLine().split(" ");
        Arrays.sort(strs);
        for(int i = 0; i < r; i++){
            System.out.print(strs[i]);
            if(i == r - 1){
                break;
            }
            System.out.print(" ");
        }
    }
}

字符串排序2

输入描述:

多个测试用例,每个测试用例一行。

每行通过空格隔开,有n个字符,n<100

输出描述:

对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开

输入

a c bb
f dddd
nowcoder

输出

a bb c
dddd f
nowcoder
import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        //逐行读取
        while(in.hasNextLine()){
            //读取一行,没有回车换行符
            String[] s = in.nextLine().split(" ");
            Arrays.sort(s);
            for(int i=0;i<s.length-1;i++){
                System.out.print(s[i]+' ');
            }
            System.out.println(s[s.length-1]);
        }
    }
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值