题目描述:给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。
输入描述:输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。
输出描述:对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。
输入例子:
4
1 2 3
2 3 4
2147483647 0 2147483646
0 -2147483648 -2147483647
输出例子:
Case #1: false
Case #2: true
Case #3: true
Case #4: false
解题思路:
- int型变量占4个字节,取值范围为-2的31次方到2的31次方-1,所以此题用long型来存取A、B、C。
- 由输入描述可知,我们需要键入行数,且每行每行需要输入3个long型整数,可以使用二维数组来记录。
- 使用两次数组遍历+对应操作即可完成题目需求。
import java.util.Scanner;
public class ABC {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int line = sc.nextInt();//输入行数
long[][] arr = new long[line][3];
//遍历数组存A、B、C
for (int i = 0; i < line; i++) {
for (int j = 0; j < 3; j++) {
arr[i][j] = sc.nextLong();
}
}
//遍历数组取A、B、C做判断
for (int i = 0; i < line; i++) {
boolean flag = (arr[i][0] + arr[i][1]) > arr[i][2];
System.out.println("Case #" + (i+1) + ": " + flag);
}
}
}
京公网安备 11010502036488号